3 回答
TA贡献1779条经验 获得超6个赞
命令之后
git fetch -p
运行时删除远程引用
git branch -vv
它将显示为“已离开”作为远程状态。例如,
$ git branch -vv
master b900de9 [origin/master: behind 4] Fixed bug
release/v3.8 fdd2f4e [origin/release/v3.8: behind 2] Fixed bug
release/v3.9 0d680d0 [origin/release/v3.9: behind 2] Updated comments
bug/1234 57379e4 [origin/bug/1234: gone] Fixed bug
因此,您可以编写一个简单的脚本来删除已经转移的本地分支:
git fetch -p && for branch in `git branch -vv | grep ': gone]' | awk '{print $1}'`; do git branch -D $branch; done
TA贡献1828条经验 获得超13个赞
这些答案中的大多数实际上并未回答原始问题。我做了一堆挖掘,这是我找到的最干净的解决方案。这是一个稍微更全面的答案:
查看您的默认分支。平时
git checkout master
跑
git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -d
说明:
通过修剪您的跟踪分支然后删除显示它们“消失”的本地分支来工作git branch -vv
。
笔记:
如果您的语言设置为英语以外的其他语言,则需要更改gone
为相应的单词。不会触及仅限本地的分支。已在远程删除但未合并的分支将显示通知但不会在本地删除。如果你想删除那些以及更改-d
为-D
。
- 3 回答
- 0 关注
- 778 浏览
添加回答
举报