0

所以这里有一些背景:我正在尝试使用hg-fast-export将存储库从 Mercurial 移动到 git,当我执行最后一步 ( ) 时,存储库中仍然存在更改。具体来说,它说有 4 个不应该删除的已删除文件。git checkout HEAD

当我尝试以下操作时,没有任何变化:

git reset --hard HEAD, git checkout ., git stash && git stash drop.

我注意到的一件奇怪的事情是,当有人使用这个 Mercurial repo 时,他们在它的中间添加了一个 git repo T_T。所以有趣的是当我运行时git checkout HEAD(但不是当我运行时git checkout .),.git子目录在索引中显示为已删除(奇怪)。每当我运行时,这些更改就会消失,git reset但并非没有一堆关于无效路径的错误。

最后,这使存储库处于与我第一次运行时相同的状态git checkout HEAD。(至少 git 是一致的!)。

肯定有一部分将 mercurial 转换为 git 的人经历过这种情况。任何人都可以分享他们在 git 中持续变化的经验吗?

4

1 回答 1

0

这个问题的原因确实是在 mercurial 存储库中有一个 .git 目录。

我解决它的方法是hg convert在进行快速导出转换之前使用排除故障目录的文件映射运行。

希望这对将来的人有所帮助!

于 2013-07-08T22:12:33.627 回答