[英]Merge branch, but with one modified commit
我有一个合作者的git分支,我想合并。 问题是其中一个早期提交存在错误(例如,必须更改提交消息或必须修复某些EOL字符)。
如果我在本地分支中挑选提交然后进行交互式rebase +编辑,则需要2分钟才能解决该问题。
问题是,如果我这样做,那么协作者的原始分支将不再被各种工具GitHub合并。
是否有工作流允许我将分支与修复合并,仍然看到原始分支合并?
如果你想保留你的协作者的原始分支,那么你的樱桃选择+ rebase然后git merge -s ours badbranch
与“正确的坏空白”消息,然后如果你还没有在你的主分支合并到那个正常。
这是我的工作流程,用于合并需要小修复的分支,并根据公认的解决方案进行调整 。
我们要合并的分支是collaborator/fix-bug-10
。
首先,我们设置了一个本地分支,然后挑选协作者分支中的所有提交。
git checkout master
git branch collaborator-fix-bug-10 # hyphen instead of slash
git checkout collaborator-fix-bug-10
git cherry-pick COMMIT1
git cherry-pick COMMIT2
git cherry-pick COMMIT2
然后我们解决问题。
git rebase -i master # show commits between HEAD and master
# fix problems
git rebase --continue
之后,我们将合作者的分支与我们的分支“合并”。 这是公认解决方案的要点。
git merge --strategy ours collaborator/fix-bug-10
最后,我们将本地分支合并到主分支中。
git checkout master
git merge --ff-only collaborator-fix-bug-10
git branch --delete collaborator-fix-bug-10
樱桃挑选进入哪里? 在原始分支上执行交互式rebase,编辑提交消息,然后正常合并分支。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.