何时从Git中删除一个分支?

27

我对Git相对较新,想获得有关删除分支的最佳实践建议。

在将分支创建并合并回主分支后,应该保留它以便用于历史目的,还是在不再需要时立即删除以进行维护?


4个回答

30
通常,在合并之后,您会删除一个分支。
例如,在下面的合并之后,您将删除分支iss53,因为您不再需要从该分支开发。您可以稍后使用提交的sha1值通过git checkout -b <name> <sha1>重新创建它。
(只有当分支指向树的“tips”时才需要分支。实际上,在这种情况下,除非您强制删除它,否则git不会让您删除它。)

alt text

上面的图片来自优秀的Pro Git 书


3
一旦将主题分支(如“fix-iss05”)合并回主分支或开发分支,请立即删除它们。根据您的工作流程,您可能希望在“开发”分支上执行所有工作和合并,并仅在经过测试并准备好发布后才将更改合并到主分支。
关于Git工作流的精彩阅读,请查看:http://geewax.org/2009/11/21/agile-git-workflow.html

链接已失效... - Eugen Konkov
1
这是一个缓存版本:https://web.archive.org/web/20100213143815/http://geewax.org/2009/11/21/agile-git-workflow.html - devth

2

我认为,没有必要保留它。除非你使用--squash合并,否则你将在主分支中拥有该分支的历史记录。我建议你删除不再需要的分支。


你是在说,如果我们压缩提交,并删除旧分支,那么我们将无法使用SHA1重新创建它吗?git checkout -b <name> <sha1> - zonabi

2

从轨道上击落它。只有在删除会影响到你的主分支历史记录之外的内容时,你才需要关心它... 即使如此,如果我开始测试某些东西并决定它毫无价值,我也经常这样做。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接