合并分支后,是否将其从存储库中删除? 但是,这是一个好习惯吗?
我通常会创建很多分支,因为我不想破坏当前版本,我希望删除它们以保持秩序。
但是,如果您使用Assembla或GitHub,旧分支的合并请求将保存在网站上,因此如果您删除它们,您将收到错误,因为它无法获取它们...
通常如何管理?
答案 0 :(得分:55)
删除已合并的分支没有问题。所有提交在历史记录中仍然可用,即使在GitHub界面中,它们仍然会显示(例如,参见this PR,它指的是在PR被接受后我删除了一个分支。)
答案 1 :(得分:20)
我合并之后肯定会清理我的分支。
我们使用GitLab并在工作时合并请求,因此有关分支的历史信息存储在那里;我不需要他们混乱我的分支列表,当我看到同事的叉子时,理想情况下我只想看到他们当前积极发展的分支。如果我试图查看其分支上的一些代码,我希望能够查看一些当前活动的分支,而不是每个功能或修复它们已经开始工作。
以上内容也适用于BitBucket和GitHub。
您可能因为没有删除合并后的分支而导致的唯一原因是您知道某个特定功能的结束位置,但合并提交(如果您真的需要,则为git merge --no-ff
)会使其无关紧要。
答案 2 :(得分:1)
只要照顾
您的DELETED分支的所有超链接URL引用将已损坏。
例如
如果您从存储库中删除branch_feature_x
分支
该分支的相应超链接URL将被破坏
https://github.com/username/project/tree/branch_feature_x
答案 3 :(得分:0)
从git的角度来看,分支只是在 link 上进行了一些提交。 通过删除分支,您将不会从git repo中删除提交。当然,分离提交将在一段时间后通过git垃圾收集器清除。
仅供参考:我们通常是通过bitbucket接口将分支合并到master。您可以在此处设置delete feature branch after merge
标志。
如果您需要处理过旧的分支,可以查看一些实用程序,例如this one。