繁体   English   中英

Git 合并分支一次提交一次?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM