关闭一个分支是啥意思?
Posted
技术标签:
【中文标题】关闭一个分支是啥意思?【英文标题】:What does it mean to close a branch?关闭一个分支是什么意思? 【发布时间】:2021-07-27 04:18:53 【问题描述】:关闭分行有什么好处?如果我不这样做会发生什么。
我在一个团队中工作,我们在 Bitbucket 中使用 Git。有的同事总说关掉分行很重要。但为什么呢?
【问题讨论】:
你为什么要问我们而不是他们? 关闭一个分支听起来像是删除它的通俗术语。第一个猜测是,太多的旧功能分支往往会使命名空间(即分支列表)变得混乱。但是@jonrsharpe 向房间里的大象讲话。问他们。 再见,@RomainValeri。补充一点:对于 git,在大多数情况下,拥有大量分支并没有什么区别。它们只是指向修订的指针。所以这一切都是为了弄乱你的命名空间。除此之外,1、2、3 或 1000 没有区别。 @eftshift0 当有大量分支时,某些操作(想到 name-rev)确实会变得非常慢。我在一个每天会开设 10-20 个分支机构的地方工作,并且有多年的历史。修剪远程跟踪分支是生活的重要组成部分:) 【参考方案1】:在 Git 中,没有定义关闭一个分支的概念,因此它类似于删除一个分支。 Perhaps the terminology came from Mercurial,您不能删除一个分支,而只能关闭(隐藏)它。
话虽如此,如果你的问题现在变成:
为什么删除分支很重要?
我可能会争辩说 important 不是正确的词,因为如果你不想删除分支,你没有有删除分支,有点像如何如果您不想,您也不必清空垃圾邮件或垃圾文件夹。但是你可以删除你的分支,也许你应该出于理智的目的删除它们,只要它们不再需要。
那么什么时候“不再需要”分支?甚至这也是争论的根源。但我认为辩论的双方都会同意:
-
一旦一个分支完全合并到一个长期共享分支中,就可以安全地删除它。如果您想像删除之前一样重新创建分支,您可以在以后的任何时间执行此操作。 (假设分支名称没有被其他东西重用。)一个例外是当你将一个长期存在的共享分支合并到另一个时(例如,
master
到 develop
在 Git Flow 中):那没有这并不意味着您应该去删除 master
只是因为它已完全合并,但是,理论上,您可以,然后在以后再次需要它时重新创建它(但是如果您绝对愿意,为什么还要打扰再次需要它!)
即使分支没有完全合并,如果您知道出于某种原因不再需要它(可能是用于测试的一次性分支或您不关心的旧代码),也可以安全地删除它。
我认为围绕删除分支的争论点通常是关于在完全合并后是否应该删除 release
分支。 (我怀疑很多人会争辩说您应该永远保留功能/主题分支。)有人说永远保留发布分支,以便您知道任何特定版本中的内容。其他人说只需标记发布所在的提交,然后当您列出所有遥控器时,您就不需要所有额外的分支。但是,除非您有 很多 远程分支,否则我实际上并不重要,至少从性能或实用程序的角度来看是这样。如果您要永远保留分支,我建议至少将它们组织成某种伪文件夹结构,例如release/*
,以便在您不想看到它们时帮助过滤掉它们。
至于在删除远程副本后删除您的 本地 分支,我建议您跟上这一点。我的上一台笔记本电脑上有数百个本地分支,当我得到一台新笔记本电脑时,我复制了那个 repo,因为直到今天我仍然不知道我可能需要哪些分支,但我相当确定数量少于 10 个,甚至可能只有 5 个分支。但我不想花时间把它们都看完。出于这个原因,现在在我的主要工作仓库中,我非常热衷于删除我不再需要的所有分支;我尝试每天至少清理一次。
【讨论】:
以上是关于关闭一个分支是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章