2017-09-25 173 views
1


我只需运行一个命令git clone --recursive <repo>克隆与子模块回购的问题,它克隆回购协议,但未能克隆子模块的时候。该错误消息是Git的克隆/子模块收到错误“是外界库”

fatal: C:\Users\folderJobs: 'C:\Users\folderJobs' is outside repository

folderJobs是这个回购的前一个文件夹的名字,我没那个时候有子模块。

背景
我有用于同步从机A码到机器B回购,机器B是与作业调度程序的服务器运行脚本形成几个项目。我以前手工维护一个server_scripts项目,它是来自不同项目的所有脚本的集合。这不是一个完美的方式,因此我决定在此server_scripts项目中将所有项目添加为子模块。我想每个我需要更新到最新版本的脚本,只需要运行

git submodule update --recursive --remote

我在机器A(我的工作站)上做了这些更改,然后我到机器B,删除了folderJobs,因为我想克隆一个全新的副本。我删除folderJobs后运行git clone --recursive。以前的文件夹名称与项目名称不同,但是这次我将使用与项目名称相同的文件夹名称。

我在我的机器A上尝试了相同的命令,它为我的文件系统的不同位置工作。

问题

我想clone命令是创建回购一个全新的文件夹,但它似乎Git记得在我的机器B.东西

有没有人得到同样的错误消息时克隆?花了半天的Google搜索后,我不知道如何解决它。

感谢您的任何信息。

- 信息

1>我查了Git版本两种机器,小的差异,是什么原因呢?

$ git --version 
git version 2.14.1.windows.1 

$ git --version 
git version 2.12.2.windows.1 

2>我试图在其他文件夹B机,同样的错误

回答

0

运行的命令,但它似乎Git的记忆在我的机器B.东西

双 - 检查您的仓库中.gitmodules文件的内容:您不需要任何绝对路径。

请确保您还没有隐藏的.git文件夹已经存在于C:\ Users中。

+0

嗨VonC,感谢您的建议。我检查了'.gitmodules',只有两个远程回购地址。上部文件夹中没有'.git'。 –

+0

@ZhongDai你可以检查两个系统上'git config -l'的区别吗? – VonC