我想从git中删除本地分支。它显示删除消息,但实际上并未删除。该代码编写如下: I have no idea what is going on this image. Please help me to delete remove-ipsum from local git
git branch -a
git checkout master
git branch -d remove-ipsum
它将删除消息显示为:已删除的分支remove-ipsum(为870afb1)。
git branch -a
但仍显示此分支。
为什么会这样?有什么解决办法吗?
答案 0 :(得分:2)
简而言之:没问题,您的本地分支已成功删除。
为什么?
自从收到删除确认消息后,我们可以安全地猜测该分支的 local 版本已成功删除。
但是git branch -a
不仅显示本地分支,还列出远程跟踪分支。因此,除非该分支从未被推/拉过,否则它将具有尚未被修剪的远程跟踪对象。
那还有什么要做?
要么分支由于良好的原因仍在远程存在,或者您也可以使用
将其删除git push <remoteName> :<branchName>
或
git push --delete <remoteName> <branchName>
但请注意,由于此步骤尚无确认: 无论是否合并,都会删除该分支。
最后
此时,分支的本地和远程版本已不存在,您将仍然将分支显示在git branch -a
输出中。什么?!为什么?
由于如上所述,远程跟踪分支是远程分支的本地副本(出于离线比较的考虑),没有被您的第一个命令删除,是我为您推荐的远程分支机构之一。
因此,要从远程跟踪分支机构列表中删除它,既然您已删除了远程副本,则可以
git fetch --prune
,它将不再显示在git branch -a
输出中。