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