文件结构:
www
|- project
|- .git
|- dist
|- .git
终端:
karl@karl-laptop:~/www/project$ git submodule add ../dist dist
Cloning into 'dist'...
conq: repository does not exist.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Clone of 'git@bitbucket.org:user/dist' into submodule path 'dist' failed
我很难找到如何在本地回购中使用子模块!正如你所看到它想要从git @ bitbucket克隆,但我希望它从本地仓库克隆。
我通常使用ssh推送到bitbucket。
答案 0 :(得分:1)
git文档说:
git submodule add repository [path]
repository是新子模块的原始存储库的URL。这可以是绝对 URL,或者(如果它以./或../开头),相对于超级项目的原始存储库的位置。
如果要从文件系统克隆,则需要指定绝对文件路径。如果您提供./
或../
(就像您一样),它将尝试从超级项目的原点获取,在您的情况下是bitbucket.org。
答案 1 :(得分:0)
git submodule add
的参数是<repository>
和<path>
,其中<repository>
是对“远程”存储库的引用,<path>
是内部的相对路径您当前安装子模块的存储库。
例如,如果我在作为git存储库的目录project1
中工作,并且我想在../project2
添加lib/project2
作为子模块,我会运行:
$ git submodule add ../project2 lib/project2
Cloning into 'lib/project2'...
done.
现在我可以运行git submodule
来查看子模块的状态:
$ git submodule
2c1e66331909365e5c4d0f11659a1baeb863b3f0 lib/project2 (heads/master)