2014-05-23 31 views
0

我有一个合作伙伴的git分支,我想要合并。问题在于早期提交中有一个错误(例如必须更改提交消息或必须修复某些EOL字符)。合并分支,但有一个修改提交

如果我选择了本地分支中的提交,然后进行了交互式分配+编辑,则需要2分钟才能解决该问题。

问题是,如果我这样做,那么来自协作者的原始分支将不再被各种工具,GitHub首先合并。

有没有一个工作流程,允许我将分支与修复合并,仍然看到合并的原始分支?

回答

1

如果您想要保留您的协作者的原始分支,请执行cherry-pick + rebase然后git merge -s ours badbranch并显示“正确的错误空白”消息,然后如果您尚未在主分支上,则正常合并。

0

cherry-pick在哪里进入?在原始分支上执行交互式重新分页,编辑提交消息,然后像平常一样合并分支。

1

这是我的工作流合并需要小修补程序的分支,改编自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 
相关问题