合并后我应该删除分支吗?

tam*_*125 78 git branching-and-merging

合并分支后,是否将其从存储库中删除?
但是,这是一个好习惯吗?

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

通常如何管理?

Fre*_*Foo 57

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

  • @fred-foo 不过,如果这是一个好的做法,这个问题还没有得到解答。(我也有同样的问题) (4认同)
  • @Raj,您已经以“合并分支修复-foo-bar”提交消息的形式获得了这一点。尝试 `git log --grep="Mergebranch"`,然后通过 `git checkout -burious-change` 删除您自己感兴趣的锚点。此外,删除分支时不会丢失任何内容——除了“branchname → commithash”指针(这就是分支的真正含义,与本地或远程无关)。 (2认同)

Ash*_*she 22

合并之后,我肯定会清理我的分支机构.

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

以上内容也适用于BitBucket和GitHub.

你没有删除合并后的分支的唯一原因是你知道某个特定功能在哪里结束,但是合并提交(git merge --no-ff如果你真的想要的话)会使它变得无关紧要.

  • @joeytwiddle:假设您正在使用GitHub自己的界面来合并分支,是的! (7认同)
  • 显然[GitHub总是--no-ff](http://ariya.ofilabs.com/2013/09/fast-forward-git-merge.html)所以我们不会失去这个甚至是分支的事实在那些情况下. (3认同)

ahm*_*l88 9

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

例如,
如果您branch_feature_x从存储库中删除分支,
则该分支相应的超链接 URL 将被破坏
https://github.com/username/project/tree/branch_feature_x