我有一个git分支,我正在处理一个功能,需要更改代码中较少相关的部分。
我不得不停止在此分支上的开发,以处理优先级已更改的另一个分支上的功能。此分支使用代码中那些较少相关但在第一个功能分支上更改的部分。
第一个功能尚未完成,但它在历史记录中保持稳定,因此我希望将所有更改与主服务器合并到一起,但不会在以后的任何提交中合并,以便新的第二个功能分支使用更改的代码的较新结构,该结构在第一个功能分支中不太相关。
master A---B---C---D
\
f1 E---F---G---H
在上面的例子中,H不稳定,但是在G工作之前,D的新分支应该建立在这项工作上而不是旧工作上。
所以对我而言,似乎我想将G合并到D上,与G的所有历史......这是正确的想法吗?
用git术语调用的这种操作是什么?也许是从E到G的提交范围的樱桃选择?
或者也许有可能从G分支我的新分支然后在D上重新绑定? 感谢
答案 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合并到主人身上会更加困难。