合并分支后,是否将其从存储库中删除?
但是,这是一个好习惯吗?
我通常会创建很多分支,因为我不想破坏当前的发行版,并且我希望删除它们以使事情井井有条。
但是,如果您使用Assembla或GitHub,则来自旧分支的合并请求将保存在站点上,因此,如果删除它们,则会收到错误消息,因为它将无法获取它们。
通常如何处理?
Answers:
删除已合并的分支没有问题。所有提交在历史记录中仍然可用,甚至在GitHub界面中,它们仍将显示(例如,参见此PR,它指的是我已经PR被接受后删除)。
Merge branch fix-foo-bar
提交消息的形式已经拥有了。尝试git log --grep="Merge branch"
,然后通过放下您自己感兴趣的锚点git checkout -b curious-change
。此外,删除分支时,什么也不会丢失-除了仅是“ branchname→commithash”指针(分支实际上是分支,与本地或远程无关)。
合并后,我肯定会清理它们。
我们使用GitLab并在工作中合并请求,因此有关分支的历史信息存储在此处;我不需要他们在我的分支列表中打乱,当我看着同事的叉子时,理想情况下,我只希望看到他们当前活跃开发的分支。如果我尝试查看其分支上的某些代码,则希望能够仅浏览几个当前活动的分支,而不是他们开始使用的每个功能或修复程序。
上面的内容也适用于BitBucket和GitHub。
您不删除合并后分支的唯一原因是,您知道给定功能的结束位置,但是合并提交(git merge --no-ff
如果您确实需要),则使此无关紧要。
只需照顾
DELETED分支的所有超链接URL引用,它们将被破坏。
例如,
如果您branch_feature_x
从仓库中删除了分支
,则该分支的相应超链接URL将被断开
https://github.com/username/project/tree/branch_feature_x