将 Mercurial 存储库移动到现有 git 存储库的子目录中
Posted
技术标签:
【中文标题】将 Mercurial 存储库移动到现有 git 存储库的子目录中【英文标题】:Move a Mercurial repo into a sub-directory of an existing git repo 【发布时间】:2019-06-14 15:25:12 【问题描述】:如何?
快速导出和其他方法使用空仓库
【问题讨论】:
您想将 HG 存储库转换为 Git 吗?或者你的意思是你想把它作为一个 HG 回购但把它放在一个 git 回购的目录中? 我想完全是 git 和一个 repo,所以我想将 HG repo 内容导入到 GIT repo 内的文件夹中。完成后我不想使用 HG 这是一种可行的方法:***.com/a/15223912/3195477 【参考方案1】:简答
不知道
更长的答案
因为:
-
盒子中的 Git 无法直接与 Mercurial 存储库一起使用
repo 文件夹中的 repo 是 Git 的 submodules 或 subtrees(子树更好 - 不那么头痛 - 方式)
你有:
-
将 Mercurial 存储库转换为 Git
以您喜欢的方式在父级中使用此 Git-repo
【讨论】:
【参考方案2】:稍微扩展一下我的评论:
使用 hg convert
功能和 --filemap
选项来修改现有的 HG 存储库,使文件夹结构看起来像您想要的那样。例如,将所有内容移动到名为 /from_hg
的子文件夹中。
使用 hg-git 等可用工具之一将修改后的 hg 存储库转换为 git 存储库
从转换后的 git 存储库合并到您的主 git 存储库。现在,您的 git 存储库中将有子文件夹 /from_hg
。你的 git repo 有两个不相关的起点。我认为这与 Linus Torvald 的“coolest merge ever”非常相似。
这个过程有点类似于https://***.com/a/15223912/3195477。
【讨论】:
以上是关于将 Mercurial 存储库移动到现有 git 存储库的子目录中的主要内容,如果未能解决你的问题,请参考以下文章