我有2个存储库,repo1和repo2,每个存储库只有一个分支,因此可以这样绘制存储库:
回购1:A --- B --- C
回购2:A --- B --- C --- D --- E --- F
在这里,我想在repo1上运行git fast-export --all > export1
,在repo2上运行git fast-export --all > export2
,以便有两个文本文件“ export1”和“ export2”。
然后我运行git diff export1 export2 > diffs.patch
从git fast-export
获取差异,并且理论上只包含有关提交的信息D --- E --- F
。
如何修改diffs.patch以及使用哪些命令,以便可以将补丁应用到隔离的repo3上,如下所示:
repo3:A --- B --- C --- G
,以便在修改,通过电子邮件发送并应用补丁文件后,它将如下所示:
repo3已修补:A --- B --- C --- G --- D --- E --- F
。
必须在不使用git bundle
(不能使用二进制文件)和git format-patch
(我也想修补标签和分支的情况下完成),据我所知,git format-patch
不能做)。