git删除本地分支出现错误

git删除本地分支出现错误

删除本地分支经常出现的情况有以下几种:

error:The branch ‘testing’ is not fully merged.

使用git branch -d testing,出现错误提示,这是因为删除的分支包含了还未合并的工作。解决办法是强制删除它,用参数“-D”表示。所以删除命令就是git branch -D testing

error:Cannnot delete branch ‘testing’ checked out at ‘D:/practice/project’

错误原因很有可能是你正处于该分支上,然后尝试删除该分支是不被允许的。和Windows系统下删除打开的文件道理一样。解决办法是只要切换分支到其他任意分支上,然后进行删除即可。例如删除”testing”分支,你可以这样做。

$ git checkout master
$ git branch -d testing

git checkout master这条命令做了两件事。一是使HEAD指回master分支,二是将工作目录恢复成master分支所指向的快照内容。master分支并不是一个特殊分支,它和其他分支完全没有区别。之所以每个仓库都有master分支,是因为git init命令默认创建它,并且大多数人都很少去改动它。

error:Cannot delete the branch ‘testing’ which you are currently on

出现这种错误的原因和上面第二种的原因一样,都是当前正处于要删除的分支上。因此其解决方法和第二种一样。

error:Branch ‘testing’ not found

根据提示,出现这种错误的原因是没有找到testing分支,但是你用git branch -a命令,又可以看到它们。
从提示的原因看是没有找到testing分支,因此为了准确起见,我们可以从./git/refs/HEADS/文件夹查找,看是否有testing,如果有就把这个文件删除。再看.git/packed-refs文件,搜索testing,如果有,就把那一行删除。

猜你喜欢

转载自blog.csdn.net/benben_2015/article/details/79782202