我有一个合作伙伴的git分支,我想要合并。问题在于早期提交中有一个错误(例如必须更改提交消息或必须修复某些EOL字符)。合并分支,但有一个修改提交
如果我选择了本地分支中的提交,然后进行了交互式分配+编辑,则需要2分钟才能解决该问题。
问题是,如果我这样做,那么来自协作者的原始分支将不再被各种工具,GitHub首先合并。
有没有一个工作流程,允许我将分支与修复合并,仍然看到合并的原始分支?
我有一个合作伙伴的git分支,我想要合并。问题在于早期提交中有一个错误(例如必须更改提交消息或必须修复某些EOL字符)。合并分支,但有一个修改提交
如果我选择了本地分支中的提交,然后进行了交互式分配+编辑,则需要2分钟才能解决该问题。
问题是,如果我这样做,那么来自协作者的原始分支将不再被各种工具,GitHub首先合并。
有没有一个工作流程,允许我将分支与修复合并,仍然看到合并的原始分支?
如果您想要保留您的协作者的原始分支,请执行cherry-pick + rebase然后git merge -s ours badbranch
并显示“正确的错误空白”消息,然后如果您尚未在主分支上,则正常合并。
cherry-pick在哪里进入?在原始分支上执行交互式重新分页,编辑提交消息,然后像平常一样合并分支。
这是我的工作流合并需要小修补程序的分支,改编自accepted solution。
我们要合并的分支是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