Git子模块完全拒绝合作
我有两个存储库。BigRepo和SmallRepo 我想让SmallRepo成为BigRepo的子模块 我做了什么 我首先克隆了BigRepo 然后我跑了Git子模块完全拒绝合作,git,github,git-submodules,Git,Github,Git Submodules,我有两个存储库。BigRepo和SmallRepo 我想让SmallRepo成为BigRepo的子模块 我做了什么 我首先克隆了BigRepo 然后我跑了 git子模块添加git://github.com/Karlovsky120/SmallRepo.git 子模块\SmallRepo 成功地将SmallRepo克隆到BigRepo 现在我运行了git status,得到了: new file: .gitmodules new file: submodules/SmallRepo 如果我运行g
git子模块添加git://github.com/Karlovsky120/SmallRepo.git 子模块\SmallRepo
成功地将SmallRepo克隆到BigRepo
现在我运行了git status
,得到了:
new file: .gitmodules
new file: submodules/SmallRepo
如果我运行git submodule init
它将失败,并显示以下消息:
致命:在.gitmodules中找不到子模块路径“submodules/SmallRepo”的url
(我知道它已经初始化了,但是url就在那里)
我还尝试提交和推送更改,然后删除本地repo以再次克隆它,但它将失败,并显示相同的消息
我知道当我按下更改时,子模块出现在web界面中,但我无法单击它。我不知道这是不是正常的行为
我查阅(并遵循)了一系列教程,但我不知道为什么会发生这种情况。它应该非常简单,但最基本的例子是失败
我做错了什么
编辑:
.gitmodules的内容是:
[submodule "submodules\\SmallRepo"]
path = submodules\\SmallRepo
url = git://github.com/Karlovsky120/SmallRepo.git
如果没有路径限制,则应执行以下操作:
$ git submodule add git://github.com/chenrui333/config-repo.git SmallRepo
$ git submodule init
$ cat .gitmodules
[submodule "SmallRepo"]
path = SmallRepo
url = git://github.com/chenrui333/config-repo.git
$ ls SmallRepo/
README.md test
我只是使用了一个级别的路径,我认为这可能是原因
[更新]
原来是路径问题,用修改过的脚本更新:
$ git submodule add git://github.com/chenrui333/config-repo.git SmallRepo/config
$ git submodule init
$ cat .gitmodules
[submodule "SmallRepo/config"]
path = SmallRepo/config
url = git://github.com/chenrui333/config-repo.git
$ ls SmallRepo/config/
README.md test
“cat.gitmodules”的输出是什么?我猜你想要这些内容吧?请参见编辑。(cat在我的Windows PC上不是可识别的命令)我遵循了您的步骤,对我来说没有问题。似乎是windows专用的?打开git bash并cat文件内容它不是,但它给了我一个想法。看起来我用了错误的斜杠->
\`
而不是/
,仔细看你的问题,是的,这应该是submodules\\SmallRepo
,而不是windows contextThat中的submodules\SmallRepo
,或者是另一个方向的斜杠。