假设我有我的 master 分支,并且我创建了 feature-x 分支来处理新功能。我对 feature-x 进行了多次提交,从 master 重新调整 feature-x 的基础,然后从 feature-x 分支到 master 分支进行非快进 merge 。
现在,如果我删除 feature-x 分支,我的提交历史记录会发生什么?
我正在进行非 ff merge ,因为在阅读了一篇文章(我同意)后,通过进行非 ff merge 可以更轻松地跟踪功能特定的更改和功能的完整生命周期。
最佳答案
如果我理解正确的话, merge 后您的历史记录看起来像这样:
A-----------E
\ /
B---C---D
这里,D是rebase后feature-x分支的头部,E是 merge 后master分支的头部。当你删除 feature-x 分支时,master 会发生什么?没有什么。分支只是指向一个特定修订的指针(加上一些附加数据,例如引用日志),当您删除它时,您丢失的只是指针,主版本将与删除之前完全相同。
话虽这么说,我不确定你为什么要进行 rebase 和 merge 。如果你想保持历史清晰,只需使用merge即可,不需要rebase。
关于git - git 如何处理来自现已删除的分支的先前非快进 merge ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6514019/