git: How to delete a local ref branch?

2019-02-04 05:00发布

问题:

I have bit of a difficulty in deleting a local ref branch(refs/notes/origin/commits). I was able to delete the branch(refs/notes/origin/commits) in the remote repository using the command

git push origin :refs/notes/origin/commits

but when i try to delete the same branch on my local repository, i get the below error

[User@centos Clone]# git branch -rd refs/notes/origin/commits
error: remote branch 'refs/notes/origin/commits' not found.

Any suggestions?

回答1:

Just do

git branch -d commits

to delete the local branch.

Use the -D switch to delete it irrespective of its merged status.

Use

git update-ref -d refs/notes/origin/commits

to delete the ref.

You can also hard-delete it as mentioned in other answers with

rm -rf .git/refs/notes


回答2:

You have notes in your git repository, you can delete one note with

git notes remove <commit>

For deleting of all notes you have to remove the 'notes' directory

rm -rf .git/refs/notes

or you can use the git update-ref command.

git update-ref -d refs/notes/commits


回答3:

you can just delete the file out of the .git directory. From the repository root, a command like this will get it:

rm .git/refs/tags/refs/original/refs/heads/master

The path may be slightly different if the git-tag command failed, so you may want to cd .git/refs and find the offending head by trial-and-error. Deleting the file will remove the reference from your local repository.



标签: git git-notes