git - 在一次运行中删除多个分支

标签 git bitbucket git-branch

我可以看到文章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/

相关文章:

linux - 在远程 ssh 虚拟机上运行命令并在本地存储响应

git - git 中的这个分支跟踪(如果有的话)是什么?

php - 是否可以使用 Composer 的存档功能在本地压缩项目?

ssl - 安装SSL证书的私钥密码

git - 是否可以使用 Bitbucket 在 TFS 上进行持续集成?

git - 在 git 裸仓库中切换当前分支

git - 通过 heroku flask 应用程序更新网站

git - Visual Studio Code 是否有类似于 Sublime text 的 GitGutter 的插件

git - 如何恢复添加到 git 但被 checkout 覆盖的文件

git - 如何使用 git 分支来实现项目功能?