【问题标题】:What are you supposed to do with no longer needed git branches? [closed]你应该如何处理不再需要的 git 分支? [关闭]
【发布时间】:2020-04-08 23:47:13
【问题描述】:

我正在与我的团队一起开展一个项目,我们使用master 作为我们的稳定分支,dev 用于已实现但在将更改合并到master 之前正在测试的新功能。我从dev 创建了一个名为new-feature-1 的分支,并在该分支上进行了多次提交,确保将这些更改一路推送到我们的远程。我现在已经完成了我在new-feature-1 上的工作,并将它与dev 合并,它被接受并与master 合并。该功能已经实现,我不再需要 new-feature-1 作为分支,但它在我的本地机器上,更重要的是在远程机器上。

在这种情况下通常会做什么?我是否删除new-feature-1 并强制将删除推送到远程?还是把它放在那里是标准做法?大多数人/公司在这种情况下会做什么?

【问题讨论】:

标签: git git-merge git-branch


【解决方案1】:

请记住,分支只不过是文本的 sn-p,通常称为 名称。这就是你的所有分支。你需要一个分支的原因是因为一个提交既没有名字也没有名字的提交的父级(在某个深度),是无法访问的,最终会死。所以如果你

  • 不需要到达这个分支上的提交,或者

  • 可以到达这个分支上你需要的所有提交,因为这个分支被合并到另一个分支中

那么该名称没有任何用途,应该删除,因为它只会使命名空间变得混乱。

[替代比喻:] 将分支视为书签。它在您工作时占据您的位置。完成工作后,您不再需要书签;没有地方可以容纳。

【讨论】:

  • 我可以建议“最终将被垃圾收集(大约一个月后)”而不是“会死”吗?
【解决方案2】:

我建议不要立即删除它。你不知道客户想要什么,你可能出于某种原因需要它。我们都知道,每次决赛后仍有最终要求更新。

您可以随时删除,但无法取回分支。虽然合并后您将拥有该分支的所有提交,但拥有该分支可能会使您的工作更轻松。

我的建议是保留分支一段时间。然后一旦你看到你没有使用它然后删除它。

【讨论】:

    【解决方案3】:

    如果没有人再使用该分支,您应该使用git branch delete branchname 将其删除。您可以使用git push -d origin branchname 在删除服务器上将其删除。 (不需要force

    由于分支已经合并,删除分支不用担心丢失,因为将来可以使用git branch branchname commitid轻松重新创建分支,其中commitid是从git log --graph --oneline --decorate --all获取的

    【讨论】:

      猜你喜欢
      • 2021-05-23
      • 1970-01-01
      • 2011-07-20
      • 2021-02-16
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-17
      • 1970-01-01
      相关资源
      最近更新 更多