在推送后克隆repo时无法检出git子模块路径

时间:2015-12-09 02:34:36

标签: git git-submodules

在我推送主模块和子模块后,我尝试将存储库克隆到远程计算机中的新文件夹。

克隆主人时,它可以成功运作。

但是当我开始克隆子模块时,它会显示一条错误消息

  

无法结帐git子模块路径

并失败。

有没有办法解决它?

1 个答案:

答案 0 :(得分:0)

在我的情况下,虽然无法克隆,但我仍然可以使用现有的存储库来提取,所以我先备份最新的条件文件并再次拉动,

拉后我发现日志/历史显示master已成功推送,但子模块的历史记录仍然是过去的日期,这意味着子模块推送我刚才没做的工作,最新的修改都丢失了。 (我之前有备份所以它没有那么多丢失)

我认为另一个线索是我执行的推送顺序似乎不正确,我先推动主控器而不推动子模块,然后推动子模块。

(关于问题的关键点是文件名.gitmodules的异常变化,但我当时没有解决问题,但使用下面的方法)

虽然这可能不是一个好主意,但我只是使用备份文件代码并复制/粘贴到存储库中的文件,并通过这种方式将存储库中的文件恢复到最新状态,

然后我再次推送,先提交并推送子模块,然后使用子模块提交和推送主模块,

再次尝试克隆,问题消失并成功。