我想从 git 中删除本地分支。它显示删除消息,但实际上并未删除。代码是这样写的: 我不知道这张图片上发生了什么。请帮我从本地 git 中删除 remove-ipsum
git branch -a
git checkout master
git branch -d remove-ipsum
Run Code Online (Sandbox Code Playgroud)
它将删除消息显示为:Deleted branch remove-ipsum(是 870afb1)。
git branch -a
Run Code Online (Sandbox Code Playgroud)
但仍然显示这个分支。
为什么会出现这种情况?任何解决方案?
总之:没问题解决,你的本地分支已经成功删除了。
为什么?
由于您收到删除确认消息,我们现在知道该分支的本地版本已成功删除。
但git branch -a不仅显示本地分支,它还列出远程跟踪分支。因此,除非分支从未被推/拉,否则它有一个尚未修剪的远程跟踪对应物。
那么还剩下什么?
分支仍然出于充分的理由远程存在,或者您也可以删除它
git push <remoteName> :<branchName>
Run Code Online (Sandbox Code Playgroud)
(一定要注意“ :”前的空格,这和 很不一样<remoteName>:<branchName>)
或(完成的替代语法,但它们的效果是相同的)
git push --delete <remoteName> <branchName>
Run Code Online (Sandbox Code Playgroud)
但是警告,因为这一步没有确认:无论合并与否,它都会删除分支。
最后
此时,分支的本地和远程版本都消失了,您仍然会在git branch -a输出中显示该分支。什么?!为什么?
因为正如我们上面提到的,远程跟踪分支是远程分支的本地副本(为了离线比较),既没有被您的第一个命令删除,也没有被我向您建议的远程命令删除分支。
因此,要从远程跟踪分支列表中删除它,现在您已经删除了远程对应分支,您可以
git fetch --prune
Run Code Online (Sandbox Code Playgroud)
它不会再出现在git branch -a输出中。
| 归档时间: |
|
| 查看次数: |
897 次 |
| 最近记录: |