从Hg迁移到Git

Posted diverger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Hg迁移到Git相关的知识,希望对你有一定的参考价值。

从接触DCVS到现在有10多年了,这也是在 Bitbucket 上安家的10年,当初选择它是因为只有它支持免费的私有库。最初 Bitbucket 只支持 Mercurial (我更愿意用Hg这个简单的名字,所以以下都写 Hg 算了),所以我也用了 Hg 十年。后来 Atlassian 收购了 Bitbucket 之后,开始支持 Git,然后我又开始用 Git。于是每年都有那么比较闲的几天,就开始纠结:“最近工作不多,要不要把 Hg 的库转成 Git 库啊?" ”Hg 也不错啊,使用简单方便,先用着吧“。于是,眼看着 Hg 的库越来越大,越来越大,甚至于有一次 Bitbucket 来邮件说我的库体积太大了:)。现在,终于不用纠结了,因为 Bitbucket (准确得说,应该说是 Atlanssian) 帮我做了这个”痛苦“的决定,Bitbucket 在2020年6月结束对 Hg 的支持,到时候直接删除所有基于 Hg 的库。更让人”痛苦“的是,他们不提供任何转换工具,是直接删除。你要做的就是在 dealine 之前,想办法把你的库”处理“好,我想了想,大概有三个选择:

 

  1. 移到其它支持 Mercurial 的服务商。
  2. 转成 Git,可以选择继续留在 Bitbucket,当然这个转换由你手动线下完成,然后再重新建库,推送。
  3. 直接从 Bitbucket 巻铺盖滚蛋。

 对于 Latin 语系的码农来说(我指的是免费用户),选项3是最简单的,因为 Github 可以直接导入 Bitbucket 的 Hg 库,所以直接滚到 Github 最麻利。但是对于我来说,就没有那么容易了。首先,1肯定不会是我的选项,Bitbucket 都用了 ‘Sunsetting‘ 这个悲凉的字眼,想必 Hg 的未来也是越来越暗淡。3看似比2简单,但是有个编码的坑,Hg 的设计原则决定了它不会对你的提交内容进行任何改变。在 Windows 上的 GBK 编码的文件名,提交信息,在提交到服务器上,仍然是原汁原味的 BGK,不会变成 UTF-8。而 Github 在导入的时候,貌似不关心编码,也是原汁原味得导入。。。。

 

 

 

 

 


临时有事。。。。。。,未完待续。 

以上是关于从Hg迁移到Git的主要内容,如果未能解决你的问题,请参考以下文章

你会从 cvs 迁移到 svn 还是直接迁移到 git 或 hg?

从集市迁移到mercurial?

将不同项目中的文件共享到 HG/Git 中的同一个文件夹

将 TFVC 迁移到 Git - 应该迁移历史记录吗?

从 SVN 迁移到 Git 存储库,其中同一项目的一部分已经发生迁移

一种方法hg同步git