我可以看到文章Delete branches in Bitbucket但这只是一次删除一个分支。
我想在一次运行中删除多个分支,这可以通过命令行还是手动进行?
最佳答案
第一步,本地分行
就像 Flimzy 建议的那样,branch -d
接受一系列引用。
此外,如果需要,可以考虑使用第一个命令来生成分支列表,并将结果传递给分支命令。例如,如果您决定删除 merge 的分支
git branch -d `git branch --merged`
或者,其他假设情况,如果您想摆脱所有提交错误的分支(引入了错误)
git branch -d `git branch --contains <bad-commit>`
在第二个例子中,git 可能会提示一些分支没有完全 merge ,即提交只存在于它们上,无法从任何其他分支访问。这是 git 原则中避免意外丢失工作的一种保护措施。
在您 的情况下覆盖此机制做 知道这些分支没有完全 merge 但你仍然想删除它们,替代方法是使用
-D
标志而不是 -d
,但请注意,如果您将它与我们上面看到的列表结合使用,或者是 确定 在将其提供给删除命令之前输出并检查列表。第二步,远程分支
并且要回答 Vlad 的有用评论,是的,此操作仅影响本地存储库,因此要在远程仓库上反射(reflect)它(我将在这里假设
origin
,但要根据您的情况进行调整),您必须git push -d origin <branchList>
第 3 步,远程跟踪分支
最后,由于您的本地存储库此时仍保留与我们刚刚删除的远程分支相对应的过时远程跟踪分支,请以
git remote prune origin
关于git - 在一次运行中删除多个分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56668907/