您应该如何处理不再需要的 git 个分支?

What are you supposed to do with no longer needed git branches?

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

在这种情况下通常会做什么?我是否删除 new-feature-1 并强制将删除推送到远程?或者把它留在那里是标准做法吗?大多数 people/companies 在这种情况下做什么?

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

既然已经合并了分支,那么删除分支也不用担心丢失,因为以后可以很容易地使用git branch branchname commitid重新创建分支,commitid是从哪里得到的git log --graph --oneline --decorate --all

请记住,分支只不过是一段文本,通常称为 名称。那就是你曾经的所有分支。您需要分支的 原因 是因为既没有名称也不是具有名称的提交的父级(在某种程度上)的提交是 无法访问的并且将最终死。所以如果你

  • 不需要在此分支上完成提交,或者

  • 可以到达您需要的该分支上的所有提交,因为该分支已合并到另一个分支

那么这个名字没有任何意义,应该被删除,因为它只会弄乱命名空间。

[替代隐喻:]将分支想象成 书签。它在您工作时占据您的位置。完成工作后,您不再需要书签;没地方放了。

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

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

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