Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
推送后克隆repo时无法签出git子模块路径_Git_Git Submodules - Fatal编程技术网

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

推送后克隆repo时无法签出git子模块路径,git,git-submodules,Git,Git Submodules,推送主模块和子模块后,我尝试从远程将存储库克隆到计算机中的一个新文件夹 克隆主机时,它会成功工作 但是当我开始克隆子模块时,它会显示一条错误消息 无法签出git子模块路径 失败了 有什么办法可以解决吗?在我的情况下,虽然无法克隆,但我仍然可以使用现有的存储库进行拉取,因此我首先备份最新的条件文件,然后再次拉取 拉后,我发现日志/历史记录显示先前成功推送了master,但子模块的历史记录仍然是过去的日期,这意味着我刚才推送的子模块没有工作,最新的修改都丢失了。 (我以前有备份,所以不会丢失太多)

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

克隆主机时,它会成功工作

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

无法签出git子模块路径

失败了


有什么办法可以解决吗?

在我的情况下,虽然无法克隆,但我仍然可以使用现有的存储库进行拉取,因此我首先备份最新的条件文件,然后再次拉取

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

我想另一个线索是,我的推送顺序似乎不正确,我先推主模块而不推子模块,然后再推子模块

(可能问题的关键在于文件名.gitmodules的异常更改,但我当时并没有解决问题,而是使用下面的方法)

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

我再次推送,先提交并推送子模块,然后提交并推送带有子模块的主模块

再次尝试克隆,问题就消失了,成功了