在要从 Mercurial 转移到 git 的项目中,需要重写 Mercurial 特定文件(在历史的早期阶段)(X
如下图所示)。在这一步之后,应该传输整个历史记录,就好像该文件一直处于新状态一样,幸运的是,这本身不会导致任何合并冲突。
A---B---X
\
\--C---D---G---H master
\ /
E---F---I feature_branch
应该导致
A---B---X---C'---D'---G'---H' master
\ /
E'----F'---I' feature_branch
我能得到的最接近的方法是使用该选项重新定位,但这仍然会产生合并冲突,尽管从to的差异可以毫无问题地应用master
。X
-p
G'
D
G