问题
我只是运行一个命令git clone --recursive <repo>
来克隆带子模块的repo,它克隆了repo但是在克隆子模块时失败了。错误消息是
fatal: C:\Users\folderJobs: 'C:\Users\folderJobs' is outside repository
folderJobs
是此回购的前一个文件夹名称,当时我没有子模块。
背景
我有一个用于将代码从机器A同步到机器B的仓库,机器B是一个带有Job Scheduler的服务器,用于运行几个项目的脚本。我之前手动维护了一个server_scripts
项目,它是来自不同项目的所有脚本的集合。这不是一个完美的方法,所以我决定在这个server_scripts
项目中添加所有项目作为子模块。我想每个我都需要更新到最新版本的脚本,只需要运行
git submodule update --recursive --remote
。
我在机器A(我的工作站)上进行了这些更改,然后我得到机器B,删除了folderJobs
,因为我想要克隆一个全新的副本。我在删除git clone --recursive
后运行folderJobs
。上一个文件夹名称与项目名称不同,但这次我将使用与项目名称相同的文件夹名称。
我在我的机器A上尝试了相同的命令,它适用于我的文件系统的不同位置。
问题
我认为clone
命令是从repo创建一个全新的文件夹,但似乎Git
会在我的机器B上记住某些内容。
克隆时有没有人收到相同的错误消息?我花了半天谷歌搜索后不知道如何解决它。
感谢您提供任何信息。
- 补充资料
1&GT;我检查了两台机器的Git版本,差别很小,是什么原因?
$ git --version
git version 2.14.1.windows.1
$ git --version
git version 2.12.2.windows.1
2 - ;我试图在机器B上的其他文件夹中运行该命令,同样的错误
答案 0 :(得分:0)
但似乎Git记得我机器B上的东西。
仔细检查回购邮件中.gitmodules
文件的内容:您不希望其中包含任何绝对路径。
请确保您在C:\ Users中没有隐藏的.git文件夹。