5

我有一个托管在 Bitbucket 上的 HG 项目,我想将其移至 Github。

我已按照此处的指南在我的 TortoiseHG 上安装 hg-git 扩展。

我在 Github 上创建了一个存储库,但还没有初始化它(它显示了那个指令页面),所以我不能克隆那个 git 存储库。

我下一步该怎么走?

编辑:抱歉忘了补充,从那时起我将使用 git。

更新:我借了一台 mac 并使用fast-git-import无痛转换它。如果有人尝试了下面的解决方案并在 Windows 下工作,请给它足够的投票,我会给出答案。

4

3 回答 3

3

刚刚发现我的问题是Converting a Mercurial (hg) repository to Git on Windows (7)的副本。

它运作良好。由于这一切都在 Cygwin 下,因此无需使用 pageant。

除了那个问题的答案。我只需要在 Cygwin 下使用ssh-keygen -t rsa. 然后我将公钥的内容复制.ssh/id_rsa.pub到 Github 存储库设置中。

我将 git origin 设置为 Gihub 地址git remote add origin (repo address)。然后终于可以git push origin master --force上Github了。

于 2012-08-31T02:55:48.787 回答
2

您应该在工作站本地完成hg-git 进程(如)。hg gexport

然后,当你有一个 git repo 镜像你的初始 Hg repo 时,你可以添加一个 GitHub 源,并推送到它:

git remote add origin https://github.com/user/yourProject.git
git push origin master
git push --all

但是,Lazy Badger 评论说,OP 可能只想在此过程中使用 Mercurial,而根本不安装 Git,这是正确的。

在这种情况下,页面“ hg-git on GitHub ”包含:

如果您从现有的 Hg 存储库开始,则必须在具有推送访问权限的某个地方设置 Git 存储库,将其添加为默认路径或默认推送路径.hg/hgrc,然后hg push在您的项目中运行。
例如:

$ cd hg-git # (an Hg repository)
$ # edit .hg/hgrc and add the target git url in the paths section
$ hg push

这会将您所有的汞数据转换为 Git 对象并将它们推送到 Git 服务器。

于 2012-02-20T13:15:28.920 回答
1

假设,基本 VCS 仍然是 Mercurial 和工具 - TortoiseHG

  1. 您必须准备好 Git-repo(空的,可从本地推送)
  2. 如果您已添加并工作(即配置正确 - 可以使用 Github 拉|推)hg-git,您必须将 Git-URL 添加到(本地)repo hgrc([paths] 部分)
  3. 将 OpenSSH 密钥添加到 Github,在 THG 中验证基于密钥的授权(选美)
    • AFAIK,只有git+ssh://git@github.com/user/repo.gitURL 适用于来自 hg-git 的 github
  4. 之后,您将拥有两个远程链接的存储库,对于两者,您都可以从同步选项卡中推/拉

插件

mercurial.ini 中的相关部分,git 和 github 相关

[ui]
...
ssh = "...\TortoisePlink.exe"
...
[auth]
github.com.prefix = github.com
github.com.username = lazybadger

不能说最后一部分,只记得“何时”和“为什么”

于 2012-02-20T13:34:03.190 回答