Git:将分支合并到父级,不包括父级->分支合并?

Git:将分支合并到父级,不包括父级->分支合并?,git,merge,cherry-pick,Git,Merge,Cherry Pick,因此,我有一个场景,大致如下: A----B----C----D (master) \ \ \ E-F--G--H-I (child) 在本例中,C和D代表了大量的更改,包括许多目录树的重新排列。F和H要小得多,通常仅限于文件的内容。F和H中的单个文件在B、C或D中没有太大变化。所有这些修订都存在于共享的上游存储库中,因此,据我所知,任何编辑历史的内容都将被删除 最简单的方法是什么?我能得到一个包含a,B,C,D,F和H的分支吗 做git校验主;git merge child

因此,我有一个场景,大致如下:

A----B----C----D (master)
 \    \    \
  E-F--G--H-I (child)
在本例中,C和D代表了大量的更改,包括许多目录树的重新排列。F和H要小得多,通常仅限于文件的内容。F和H中的单个文件在B、C或D中没有太大变化。所有这些修订都存在于共享的上游存储库中,因此,据我所知,任何编辑历史的内容都将被删除

最简单的方法是什么?我能得到一个包含a,B,C,D,F和H的分支吗

做git校验主;git merge child最终恢复了在C和D中所做的大量结构更改,我假设这是因为它从合并提交G和I中获取了更改。在C和D中重新定位的许多文件最终两次出现在工作树中

虽然在我的示例中,F和H代表了十几个提交,但我可以对它们进行一次挑选——这足以让人恼火

理想情况下,我想要的是git合并-忽略合并提交选项

我不认为我可以将孩子重新设定为D,因为E-I已经在共享回购中

还有其他建议吗,还是我去摘樱桃


谢谢

这可能很有用:尝试从“child”的头部签出一个新分支,然后从master合并到新分支。然后尝试将新分支合并回主分支或从中签出的其他本地分支master@Jubobs-基本上我就是这样结束的;我只是想知道是否有一种方法可以让merge变得更聪明,它所做的一切。@kdopen-那没有帮助;我仍然在合并提交中做了一些过时的更改,我出现在我的合并基线中这是github上的公共回购还是类似的?你说一切都被推到了上游。能够看到它会有所帮助