纠正git操作以合并分支的一部分

时间:2015-06-03 09:30:46

标签: git merge gitlab

我有一个git分支,我正在处理一个功能,需要更改代码中较少相关的部分。

我不得不停止在此分支上的开发,以处理优先级已更改的另一个分支上的功能。此分支使用代码中那些较少相关但在第一个功能分支上更改的部分。

第一个功能尚未完成,但它在历史记录中保持稳定,因此我希望将所有更改与主服务器合并到一起,但不会在以后的任何提交中合并,以便新的第二个功能分支使用更改的代码的较新结构,该结构在第一个功能分支中不太相关。

master A---B---C---D
            \
f1           E---F---G---H

在上面的例子中,H不稳定,但是在G工作之前,D的新分支应该建立在这项工作上而不是旧工作上。

所以对我而言,似乎我想将G合并到D上,与G的所有历史......这是正确的想法吗?

用git术语调用的这种操作是什么?也许是从E到G的提交范围的樱桃选择?

或者也许有可能从G分支我的新分支然后在D上重新绑定? 感谢

1 个答案:

答案 0 :(得分:1)

我想你只想把G合并到D:

git checkout D
git merge G

之后您的历史记录将如下所示:

master A---B---C---D---M <-- HEAD
            \         /
f1           E---F---G---H

我建议不要在D之上重新设置E-G,因为稍后将H合并到主人身上会更加困难。