git - 从 Mercurial 迁移到 Git 并轻松返回?

标签 git version-control mercurial migration dvcs

我正在尝试在 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/

相关文章:

unit-testing - 单元测试类是否应该与其余代码一起受版本控制?

android - 如何在 AndroidManifest 中自动增加版本代码?

mercurial - 在哪里安装 Mercurial 扩展,这样您就不必在 .hgrc 中指定它们的路径?

Mercurial - 使用克隆分支或使用命名分支进行分支

git - 如何从 git 上丢失的提交中恢复代码?

linux - Git - 如何从 checkout 自动完成中删除分支

使用 SSH 的 Git 提交请求电子邮件

java - 添加svn :ignore property on files that already are under control

version-control - Emacs 的最佳 Mercurial 模式?

git - 将 TFS 2013 迁移到 Git