好的,我认为我已经解决了这个问题...但现在...
我的项目包括 GitHub 上的一个小库作为子模块。 在该超级项目的原始版本中,子模块按预期工作。
然而,我刚刚克隆了超级项目,做了我认为应该做的事情:"git submodule init",让子模块的目录出现了,但是它是空的。
如果现在我尝试执行
git submodule update
我理解了
fatal: Needed a single revision
Unable to find current revision in submodule path 'external_libraries/BEACHhtml'
如果我尝试
git submodule foreach git pull
我明白了
Entering 'external_libraries/BEACHhtml'
fatal: Where do you want to fetch from today?
Stopping at 'external_libraries/BEACHhtml'; script returned non-zero status.
在我的.git/config文件中,我有以下内容:
[submodule "external_libraries/BEACHhtml"]
url = git@github.com:interstar/BEACHhtml.git
我在我的 .gitmodules 文件中有这样的内容:
[submodule "external_libraries/BEACHhtml"]
path = external_libraries/BEACHhtml
url = git@github.com:interstar/BEACHhtml.git
有人知道缺什么吗?
ext/blah
)和匹配的GIT_DIR
文件夹下的相应目录(.git/modules/ext/blah
)。 - Tobugit submodule update
在我的 CI 服务器上一直无法成功,因为它需要有人接受 RSA 密钥(CI 服务器通常使用 HTTPS 连接,而这是第一次子模块使用 SSH 连接进行拉取)。希望这可以帮助某个人节省一个小时的头痛! - Maverik