我有一个来自旧远程仓库的相对较大的远程分支集合:
$ git branch -r
guy/feat1
guy/feat2
guy/feat3
guy/feat4
guy/feat5
guy/feat6
guy/feat7
guy/feat8
origin/HEAD
origin/master
是否有一个命令会删除所有guy
分支?
回购不再有guy
作为远程回购。
答案 0 :(得分:4)
git branch -r | grep guy/ | xargs git branch -d
(假设$
符号实际上不是您输出的一部分......)
答案 1 :(得分:4)
您也可以尝试(来自git remote
):
git remote --prune guy
使用:
prune
删除
中本地可用。<name>
下的所有陈旧远程跟踪分支 这些陈旧的分支已从<name>
引用的远程存储库中删除,但仍在“remotes /".使用
--dry-run
选项,报告将修剪哪些分支,但实际上不修剪它们。
另请参阅“Difference between git remote prune
and git branch -d -r
”
如果家伙不再是一个valide远程回购,那么:
git gc --prune=now
将清理那些分支(以及一些未引用的提交,因此请谨慎使用)
详情请见“How do you Remove an Invalid Remote Branch Reference from Git?”:如果可能,通常更安全:git branch -rd guy/badbranch
,但如果这不起作用,那么git gc --prune=now
也可以成为解决方案。< / p>
答案 2 :(得分:0)
要删除您可以使用的远程分支
git push <remote-repo> :branch-to-delete
在分支到删除之前记下冒号。另请参阅Delete multiple remote branches in git ...这显示了如何构建一行代码以一次删除多个分支。