在GIT中处理“死/未使用”分支的最佳方法是什么?

bis*_*ish 2 git

在我们的项目中,我们使用GIT作为SCM。通常,我们为新功能,复杂的错误修正,下一版本等创建单独的分支。当(例如)一项新功能完全实现时,它们将合并到master(这是我们的“下一个版本”分支)中(并合并到主干中,并在以后的测试/部署期间启用)。因此,在将新的功能分支合并到master后,它就是“死”了。此刻,我删除了“死”分支,以使分支列表小而清晰。但是,正如我在最后一次删除中注意到的那样,我这样做是以失去分支机构的历史为代价的。

我现在的问题是:处理“死”分支的最佳方法是什么?

Kla*_*urn 5

我会说已经合并到master的分支,即由

git branch --merged
Run Code Online (Sandbox Code Playgroud)

可以并且应该安全地删除

git branch -d <merged_branch>
git push --delete origin <merged_branch>
Run Code Online (Sandbox Code Playgroud)

Git的要点之一是创建(和合并)分支非常容易。您应该“经常分支”。但是,让所有那些旧的已删除分支无所不用其事。重要的历史信息在于提交及其相互之间的关系。

请记住,为合并提交自动生成的消息包含分支的名称。因此,确定原始分支名称通常没有问题(如果它包含一些有趣的信息)。

尚未合并的分支是另一回事:

git branch --no-merged
Run Code Online (Sandbox Code Playgroud)

它们不能用删除-d,而必须用删除-D,因此很难错误地进行操作。就个人而言,我最终删除这些呢,但是我等了不少时间。