oh-my-git/levels/low-level/ref-remove

41 lines
878 B
Text

[description]
And finally, to delete a ref, use
git update-ref -d refs/<refname>
Delete all refs! :P (Well, except for HEAD. HEAD is special.)
[setup]
echo hello > hello
echo world > world
BLOB1=$(git hash-object -w hello)
BLOB2=$(git hash-object -w world)
git add .
TREE=$(git write-tree)
COMMIT=$(git commit-tree $TREE -m "Initial commit")
git update-ref refs/best_blob_ever "$BLOB1"
git update-ref refs/beautiful_commit "$COMMIT"
[setup goal]
echo hello > hello
echo world > world
BLOB1=$(git hash-object -w hello)
BLOB2=$(git hash-object -w world)
git add .
TREE=$(git write-tree)
COMMIT=$(git commit-tree $TREE -m "Initial commit")
git update-ref refs/best_blob_ever "$BLOB1"
git update-ref refs/beautiful_commit "$COMMIT"
for REF in $(git for-each-ref --format='%(refname)'); do
git update-ref -d "$REF"
done
[win]
test "$(git show-ref | wc -l)" -eq 0