[英]Git merge branch one commit at a time?
我有一个比较大的特性分支想和master合并,合并产生了很多冲突。 有没有办法一次合并这些分支一次提交,这样我就可以一次解决一个冲突并检查一切是否正常?
我能想到的一种解决方案是使用 rebase 而不是合并,但是历史将变得平坦,我不希望那样。 不过,如果有帮助,我可以创建额外的“合并修复”提交。
您可以合并“一次一个提交”,但它会为您在另一个分支上的每个提交创建一个合并提交,这非常繁重。
要做到这一点,只需查看您与master
不同之处,然后在master
分支上,为从该处开始的每个提交发出git merge <commit_id>
。
否则,只需一劳永逸地解决大冲突,每个阅读您提交历史的人都会感谢您。
在功能中解决此问题的一个好方法是在功能分支中定期合并主。
您可以改用它的副本,而不是重新设定大功能分支。 在 rebase 后解决所有冲突后,您可以拉回差异:
$ git checkout -b big_feature_branch.rebased big_feature_branch
$ git rebase master big_feature_branch.rebased
# Resolve all conflicts
$ git checkout big_feature_branch
$ git diff big_feature_branch big_feature_branch.rebased | git apply -
$ git commit -am "merge fix"
$ git branch -D big_feature_branch.rebased
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.