我从旧的远程仓库收集了相对较大的远程分支:
$ 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
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 prune
git branch -d -r
”
如果 guy 不再是有效的远程仓库,那么:
git gc --prune=now
将清理这些分支(以及一些未引用的提交,因此请谨慎使用)
在“如何从 Git 中删除无效的远程分支引用? ”中查看更多信息:通常更安全的是:git branch -rd guy/badbranch
如果可能的话,但是如果这不起作用,那么git gc --prune=now
也可以是一个解决方案。
要删除远程分支,您可以
git push <remote-repo> :branch-to-delete
在 branch-to-delete 之前使用注意冒号。另请参阅在 git 中删除多个远程分支...这显示了如何构造一个单行器以一次性删除多个分支。