我正在尝试在 Git 和 Mercurial 之间做出决定,无论我做出什么决定,我想知道从一个 SCM 迁移到另一个 SCM 有多难。
我知道这两个工具都有导出 + 导入选项,我只是想知道它是否会保留分支、标签等内容。此外,是否会有其他影响,例如对错误跟踪器提交的引用损坏等。 ?
最佳答案
让我回答你的两个问题:
这两个系统之间的映射几乎毫不费力,因为它们的基础模型非常相似。但是,有些东西不能来回映射。两个例子:Mercurial 中的名称分支在 Git 中没有直接等价物,Mercurial 不支持 Git octopus merge 。
有类似 hg-git 的工具它在让您使用 Mercurial 作为 Git 存储库的客户端方面做得非常好。它是系统之间的双向桥梁,这意味着您可以使用它进行双向转换。它适用于很多人,并且会保留标签和分支等内容。
是的,外部工具会破坏引用 — 尽管这两种工具都使用 SHA-1 生成变更集哈希值,但它们有不同的东西,因此会为变更集提供不同的 ID,否则这些 ID 应该是相同的。
关于git - 从 Mercurial 迁移到 Git 并轻松返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8503285/