有没有一种简单的方法可以删除远程等效项不再存在的所有跟踪分支?
Example:
分支机构(本地和远程)
- master
- 起源/主人
- 起源/错误修复-a
- 起源/错误修复-b
- 起源/错误修复-c
在本地,我只有一个主分支。现在我需要努力错误修复a,所以我检查它,处理它,并将更改推送到远程。接下来我做同样的事情错误修复-b.
分支机构(本地和远程)
- master
- 错误修复a
- 错误修复-b
- 起源/主人
- 起源/错误修复-a
- 起源/错误修复-b
- 起源/错误修复-c
现在我在当地有分行master, 错误修复a, 错误修复-b。主分支维护者会将我的更改合并到master并删除他已经合并的所有分支。
所以现在的状态是:
分支机构(本地和远程)
- master
- 错误修复a
- 错误修复-b
- 起源/主人
- 起源/错误修复-c
现在我想调用一些命令来删除分支(在本例中错误修复a, 错误修复-b),它们不再在远程存储库中表示。
这将类似于现有的命令git remote prune origin
,但更像是git local prune origin
.
git remote prune origin
修剪不在远程的跟踪分支。
git branch --merged
列出已合并到当前分支的分支。
xargs git branch -d
删除标准输入上列出的分支。
小心删除列出的分支git branch --merged
。该列表可能包括master
或您不想删除的其他分支。
为了让自己有机会在删除分支之前编辑列表,您可以在一行中执行以下操作:
git branch --merged >/tmp/merged-branches && \
vi /tmp/merged-branches && xargs git branch -d </tmp/merged-branches
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)