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

问题描述 投票:0回答:4

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

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

通常如何管理?

git branching-and-merging
4个回答
110
投票

删除已合并的分支没有问题。所有提交在历史记录中仍然可用,甚至在 GitHub 界面中,它们仍然会显示(参见,例如,this PR 指的是一个 fork我在 PR 被接受后删除了)。


39
投票

我肯定会在合并后清理我的分支。

我们在工作中使用GitLab和合并请求,所以分支的历史信息都存储在那里;我不需要它们弄乱我的分支列表,当我查看同事的叉子时,理想情况下我只想看到他们当前活跃开发的分支。如果我想查看他们分支上的一些代码,我希望能够只查看几个当前活跃的分支,而不是他们已经开始处理的所有功能或修复。

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

合并后不删除分支的唯一原因可能是让您知道给定功能的结束位置,但合并提交(如果您真的想要,还有

git merge --no-ff
)使它变得无关紧要。


8
投票

好好照顾
已删除分支的所有超链接 URL 引用都将被BROKEN.

例如
如果你从你的仓库中删除

branch_feature_x
分支
该分支对应的超链接URL将被破坏
https://github.com/username/project/tree/branch_feature_x


3
投票

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

仅供参考:我们通常通过 bitbucket 接口将分支合并到 master 中。在那里你可以设置

delete feature branch after merge
标志。

如果你需要处理太旧的分支,你可以看看一些实用程序。例如,这个可能会有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.