git: How to delete a local ref branch?

匿名 (未验证) 提交于 2019-12-03 02:06:01

问题:

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 

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.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!