繁体   English   中英

关闭一个分支是什么意思?

[英]What does it mean to close a branch?

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

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

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

话虽如此,如果您的问题现在变成:

为什么删除分支很重要?

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

那么何时“不再需要”分支? 甚至这也是争论的根源。 但我认为辩论的双方都会同意:

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

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

至于删除远程副本后删除本地分支,我建议跟上这一点。 我的上一台笔记本电脑上有数百个本地分支,当我有一台新笔记本电脑时,我复制了那个 repo,因为直到今天我仍然不知道我可能需要哪些分支,但我相当确定数量少于 10 个,甚至可能只有 5 个分支。 但我不想花时间通过它们来 go。 出于这个原因,现在在我的主要工作仓库中,我非常热衷于删除我不再需要的所有分支; 我尝试每天至少清理一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM