我想分叉一个Git存储库,将其转换为Mercurial,并在完成后将我的更改贡献给原始的Git存储库。我更关注安全稳定的转换过程而不是方便。我会{G}定期更改Git到Mercurial,但很少回复任何更改。
我不习惯使用hg-git,因为针对该项目报告的许多错误多年来都没有得到答复。我怀疑使用pull
将Git转换为Hg比使用hg convert
更安全。
我的问题是:说我已经将存储库转换为Mercurial并进行了一些更改,如何将这些更改贡献回官方存储库?我想将我的更改贡献回来到官方的Git存储库而不会丢失任何历史信息(也就是说,我不想将多个更改集折叠成一个)。
最简单,最安全的方法是什么?
答案 0 :(得分:8)
您可以尝试将Mercurial提交导出为补丁:
hg export --git -r 1 >patch.diff
此.diff
文件应由Git识别,并可以git apply
添加到git仓库。
(这是在“Convert a Mercurial Repository to Git”中提出的,其中还提到了更新的script hg-fast-export
hg export
的--git
选项将确保您以git扩展diff格式生成差异。有关详细信息,请参阅hg help diffs
。