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

Dun*_*nno 7 git merge

我有一个相对较大的功能分支,我想与master合并,并且合并会产生很多冲突.有没有办法一次合并一个提交的分支,所以我可以一次解决一个冲突,并检查一切是否正常?

我能想到的一个解决方案是使用rebase而不是merge,但随后历史将变平,我不希望这样.我很乐意创建额外的"合并修复"提交,但是,如果有帮助的话.

blu*_*112 5

您可以合并“一次一个提交”,但它会为您在另一个分支上的每个提交创建一个合并提交,这非常繁重。

要做到这一点,只需看看你从哪里偏离master,然后在master分支上,git merge <commit_id>从那里开始为每个提交发出问题。

否则,只需一劳永逸地解决大冲突,每个阅读您提交历史的人都会感谢您。

在功能中解决此问题的一个好方法是在功能分支中定期合并主。


hlo*_*dal 5

您可以改用它的副本,而不是重新设定大功能分支。在 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
Run Code Online (Sandbox Code Playgroud)