一次删除多个分支

时间:2019-06-19 13:31:29

标签: git bitbucket git-branch

我可以看到文章Delete branches in Bitbucket,但这只是一次删除单个分支。 我想一次删除多个分支,是否可以通过命令行或手动删除?

3 个答案:

答案 0 :(得分:4)

第1步,本地分支机构

像Flimzy建议的那样,branch -d接受了一系列引用。

如果需要,还可以考虑使用第一个命令来生成分支列表,并将结果传递给branch命令。例如,如果您决定删除合并的分支

git branch -d `git branch --merged`

或者其他假设情况,如果您想摆脱所有提交错误的分支(引入了错误)

git branch -d `git branch --contains <bad-commit>`

在第二个示例中,git可能会抱怨某些分支未完全合并,即,提交仅存在于它们上,而其他任何分支都无法访问。按照git原则,这是避免意外丢失工作的保障。

要在您确实知道这些分支尚未完全合并但仍要删除它们的情况下覆盖此机制,替代方法是使用-D标志而不是{ {1}},但请注意,如果您将其与上面我们看到的列表结合使用,或者确保输出并检查列表,然后将其 输入删除命令。


第2步,远程分支机构

要回答弗拉德的有用评论,是的,此操作仅会影响本地存储库,因此要在远程反映(我在这里假设-d,但要使其适应您的情况),您必须

origin

第3步,远程跟踪分支机构

最后,由于此时您的本地存储库仍保留了与我们刚刚删除的远程分支相对应的过时的远程跟踪分支,因此以

结尾
git push -d origin <branchList>

答案 1 :(得分:1)

我在 VS 2019 git 体验中遇到了同样的问题。 我发现的最有用的帖子是: How to delete multiple local Git branches from Sourcetree?

当然,这意味着你必须安装 sourcetree,但是嘿:它比花一个小时反复选择、删除和一致删除分支要好...?

答案 2 :(得分:0)

您可以使用Linux / Unix grep命令功能。

grep "*keyword*"将列出相似的名称。

将grep命令与git branch合并。

要删除分支,我们使用git branch -d branch_name

因此,最终命令如下:

enter image description here