关闭分支机构意味着什么?

Mai*_*rey 1 git version-control bitbucket git-branch

关闭分行有什么好处?如果我不这样做会发生什么。

我在一个团队中工作,我们在 Bitbucket 中使用 Git。有同事总说关闭分行非常重要。但为什么?

TTT*_*TTT 5

在 Git 中,没有定义关闭分支的概念,因此它类似于删除分支。也许该术语来自 Mercurial,您无法删除分支,而只能关闭(隐藏)它。

话虽这么说,如果你的问题现在变成:

为什么删除分支非常重要?

我可能会认为“重要”这个词并不正确,因为如果您不想删除分支,则不必删除分支,就像您不必清空电子邮件垃圾邮件或垃圾文件夹一样不想。但是您可以删除您的分支,也许出于理智的目的您应该删除它们,只要它们不再需要。

那么什么时候“不再需要”分支呢?即便如此,这也是一个争论的根源。但我认为这场辩论的双方都会同意:

  1. 一旦分支完全合并到长期共享分支中,就可以安全地删除它。如果您想重新创建分支,就像删除之前一样,您可以在将来随时执行此操作。(假设分支名称没有被其他东西重复使用。)一个例外是当你将一个长期存在的共享分支合并到另一个分支(例如合并到 Git Flow 中)时masterdevelop这并不意味着你应该去并删除master只是因为它完全合并,但是,理论上,您可以,然后在稍后再次需要它时重新创建它(但如果您绝对会再次需要它,为什么还要麻烦呢!)
  2. 即使分支没有完全合并,如果您知道出于某种原因不再需要它(可能是用于测试的一次性分支或您不关心的旧代码),也可以安全地删除它。

我认为关于删除分支的争论点通常在于是否应该release在分支完全合并后删除分支。(我怀疑很多人会认为你应该永远保留功能/主题分支。)有人说永远保留发布分支,这样你就知道任何特定版本中有什么。其他人说只需标记发布所在的提交,然后在列出所有遥控器时就不需要所有额外的分支。但是,除非您有很多远程分支,否则我实际上对这种或另一种方式并不重要,至少从性能或实用程序的角度来看不是这样。如果您永远保留分支,我建议至少将它们组织在某种伪文件夹结构中,例如release/*在您不想看到它们时帮助过滤掉它们。

至于在删除远程副本后删除本地分支,我建议您继续这样做。我的最后一台笔记本电脑上有数百个本地分支机构,当我得到一台新笔记本电脑时,我复制了该存储库,因为直到今天我仍然不知道我可能需要哪些分支机构,但我相当确定数量少于 10 个,甚至可能只有 5 个分支。但我不想花时间把它们全部看完。出于这个原因,现在在我的主要工作仓库中,我非常热衷于删除我不再需要的所有分支;我尝试每天至少清理一次。