如何批量删除冗余远程git分支?

我有一个来自旧的远程仓库的相对较大的远程分支集合:

$ 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作为远程回购。


git branch -r | grep guy/ | xargs git branch -d

(假设$符号实际上并不是你输出的一部分......)


你也可以尝试(从git remote ):

git remote --prune guy

附:

prune

删除<name>下的所有陈旧的远程追踪分支。
这些陈旧的分支已从<name>引用的远程存储库中删除,但仍在本地“remotes /”中提供。

使用--dry-run选项,报告将修剪哪些分支,但不实际修剪它们。

另请参见“ git remote prunegit branch -d -r之间的区别”

如果家伙不再是一个真正的远程回购,那么:

git gc --prune=now

将清理这些分支(以及一些未引用的提交,因此请谨慎使用)
请参阅“如何从Git中删除无效的远程分支引用?”:如果可能,通常更安全: git branch -rd guy/badbranch如果可能,但如果这不起作用,那么git gc --prune=now也可以成为解决方案。


要删除一个远程分支,你可以使用git push <remote-repo> :branch-to-delete注意分支到删除之前的冒号。 另请参阅在git中删除多个远程分支...这显示了如何构建一个单行程以一次删除多个分支。

链接地址: http://www.djcxy.com/p/26007.html

上一篇: How do I batch delete redundant remote git branches?

下一篇: So many unused branches. How to cleanup?