【问题标题】:mercurial to git branch issuemercurial 到 git 分支问题
【发布时间】:2020-07-15 18:00:27
【问题描述】:

我使用以下站点 https://helgeklein.com/blog/2015/06/converting-mercurial-repositories-to-git-on-windows/ 将 mercurial repo 转换为 git repo。它没有提到它不会复制所有分支。在 mercurial 存储库中,它们被命名为分支,但是当我将其转换为 git 时,它们更改了“.git\objects ....”,它们似乎都来自我的开发分支,但我需要存储库中的其他分支。我需要知道如何添加缺少的分支。我希望能够添加到其余部分,并且我需要知道我遵循的链接是否是最佳的行动方案,或者是否缺少某些内容。对我的问题有任何帮助都会很棒。我也尝试过使用快速导出,但这也不起作用。如果有人可以提供一些行动方案,我愿意尝试任何其他想法。我使用 BitBucket 作为我的仓库所在的站点。

【问题讨论】:

    标签: git mercurial bitbucket


    【解决方案1】:
    1. 2015 年以来关于 Mercurial|HGGit 的任何帖子在很多领域都非常过时Mercurial Wiki 中更新鲜的主题/上次编辑 2020 年 1 月 8 日/有一些部分标记为“过时” ") 并且可能最好的来源是readme from hggit repo
    2. 如果您可以在 THG 中工作 hggit(这是工作中最困难和最耗时的部分),与 Git 交互将相当简单
      • Mercurial 的每个 命名分支都必须将书签链接到它,以便与 Git-repo 进行互操作。您可以手动添加书签或使用(2015 年之后发布,因此文章中未涵盖)branch_bookmark_suffix 自动创建和自动命名功能
      • 如果远程需要身份验证(99.99% 的情况下 /authentication/ 是正确的),如果没有手工和代码补丁,您将无法通过 https 推送到 Git-repo,最简单的解决方案就是移动到git+ssh://(如果远程支持它,显然)

    PS:我拥有并使用本地 TortoiseHG 5.0.2+hggit 来处理我在 GitHub 上的 Git-repo,如果需要,我可以更深入地回答任何相关问题

    【讨论】:

      【解决方案2】:

      遗憾的是在 Git 中没有命名分支, 所以迁移不能想出像他们这样的东西

      迁移应该已经创建了书签, 因为 Git 的分支更接近 Mercurial 的书签,而不是实际的“命名分支”

      您可能有兴趣阅读https://felipec.wordpress.com/2011/01/16/mercurial-vs-git-its-all-in-the-branches/

      请注意,如果您习惯了 Mercurial,您可能会想念它们一段时间, 但最终你会习惯“git方式”并且你会活下来,我希望;-)

      【讨论】:

      • 那么我是否必须以某种方式为每个分支创建一个书签?
      • 我没有复制你的步骤。我使用集成在我的 TortoiseHg 中的 hggit 扩展,所以我继续在 Hg 和 Git 中工作并在两者之间推/拉,是的,它会创建书签(在某些情况下它也可能会让人头疼,但我已经弄清楚了)
      • 我确实使用了集成在我的 tortoiseHg 中的 hggit 扩展,但我也使用源代码树,而且源代码树不喜欢将 .git 文件夹和 .hg 文件夹合二为一。它有时会给出一个重大错误。我是否应该坚持使用 tortoiseHg 并弄清楚如何创建书签?
      • 创建书签很简单,您可以随时撤消,一旦删除不会留下任何残留物,您可以创建、重命名、移动、删除和再次创建,次数不限想要,您可以确信它没有复杂性。它们只是一个别名提交的“标签”,就像 Git 分支一样
      • 我相信 hggit 可以选择自动设置正确的书签以对应 git 分支。您不必手动执行此操作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 2011-01-29
      相关资源
      最近更新 更多