Git:我如何合并那些与一些遗失历史广泛分歧的复杂分支?

fuz*_*Tew 7 git merge branch git-merge

我有两个"分支",它们都是从相同的代码库开始的,但是两个分支都是在它们发散后导入到​​git中的.先前的历史丢失了,另外两个分支在他们的git历史中记录了大量的变化.

以可管理的方式处理这两个分支之间的合并功能和错误修正的好策略是什么?

是否有工具可以帮助我将原始导入中的差异分离为有意义的提交?

Ada*_*ruk 1

听起来你想保留历史。我会使用rebase --ontowith--preserve-merges将功能/错误移动到您想要继续使用的分支。如果由于某种原因它们位于不同的结构中,请创建一个新分支,然后filter-branch对树进行操作以使结构相同。然后rebase --onto --preserve-merges就像在第一个场景中一样。

希望这可以帮助。

  • 制作一些存储库副本并进行实验以查看命令的作用。我建议运行 gitk --all & 并定期刷新它以直观地看到发生了什么。 (2认同)