Git 合并分支后是否应删除该分支?

Git 合并分支后是否应删除该分支?,git,branching-and-merging,Git,Branching And Merging,合并分支后,是否将其从存储库中删除? 然而,这是不是一个好的做法 我通常会创建很多分支,因为我不想破坏当前版本,我希望删除它们以保持秩序。 但是,如果使用Assembla或GitHub,来自旧分支的合并请求将保存在站点上,因此如果删除它们,您将得到一个错误,因为它将无法获取它们 通常如何管理?删除已合并到中的分支没有问题。所有提交在历史记录中仍然可用,即使在GitHub界面中,它们也会显示出来(例如,请参阅,它指的是我在PR被接受后删除的分支)。在合并分支后,我肯定会清理它们 我们在工作中使用G

合并分支后,是否将其从存储库中删除?
然而,这是不是一个好的做法

我通常会创建很多分支,因为我不想破坏当前版本,我希望删除它们以保持秩序。
但是,如果使用Assembla或GitHub,来自旧分支的合并请求将保存在站点上,因此如果删除它们,您将得到一个错误,因为它将无法获取它们


通常如何管理?

删除已合并到中的分支没有问题。所有提交在历史记录中仍然可用,即使在GitHub界面中,它们也会显示出来(例如,请参阅,它指的是我在PR被接受后删除的分支)。

在合并分支后,我肯定会清理它们

我们在工作中使用GitLab和合并请求,因此分支的历史信息存储在那里;我不需要他们把我的分支列表弄得乱七八糟,当我看到同事的叉子时,理想情况下我只想看到他们当前积极发展的分支。如果我试图查看他们分支上的一些代码,我希望能够只查看一些当前活动的分支,而不是他们开始使用的所有功能或修复

上述情况也适用于BitBucket和GitHub

不删除分支后合并的唯一原因可能是为了让您知道给定功能的结束位置,但合并提交(以及
git merge--no ff
,如果您真的愿意)会使它变得无关紧要。

请注意
已删除分支的所有超链接URL引用都将被破坏

例如
如果您从回购中删除分支机构功能 此分支的相应超链接URL将被破坏

只是澄清一下,从git的角度来看,branch只是将链接到某个提交上。 通过删除分支,您将不会从git repo中删除提交。当然,分离的提交将在一段时间后通过git垃圾收集器进行清理

仅供参考:我们通常通过bitbucket接口将分支合并到主分支。在那里,您可以设置“合并后删除要素分支”标志


如果您需要处理太旧的分支,您可以查看一些实用程序,例如。

显然,这样即使在这些情况下,我们也不会忘记这是一个分支。@Joey Twiddle:假设您使用GitHub自己的接口合并分支,是的!您说过所有提交在历史记录中仍然可用。如果我在github.com上查看一个项目,我会发现这是真的。但是,在Mac的Github桌面应用程序中,您似乎无法再看到合并分支的提交历史记录。我错了吗?我想补充一点,如果您没有使用git客户机,特别是没有使用带有gui的客户机,那么拥有这些分支有助于更好地理解您的日志。也就是说,由于您没有github/gitlab/other gui可供查看,因此保留分支名称可以让您在提交历史之外有一个简单的位置来引用历史,否则删除分支会丢失历史。如果最后这句话有误,请告诉我。@Raj您已经有了,以
Merge branch fix foo bar
commit消息的形式。尝试
git log--grep=“Merge branch”
,然后通过
git checkout-b好奇的改变放下你自己感兴趣的锚。此外,删除分支时不会丢失任何内容——除了“branchname”之外→ commithash“指针(这是一个分支的真正含义,不管是本地的还是远程的)。@fred foo但这是否是一个好的实践并没有得到回答。(我有同样的问题)请务必复习。至少,你需要披露你与你建议的公用事业公司的关系。