我想添加一个不同名称的git子模块,如:
git submodule add --name foo git@bitbucket.org:ironsand/cookbook-foo.git
我想创建一个名为foo
的git子模块目录,但是使用名称cookbook-foo
创建存储库。
我很可能做错了什么,但我不知道出了什么问题。
如何更改git子模块目录的名称?
答案 0 :(得分:26)
不要混淆子模块的路径和名称。你想运行
git submodule add git@bitbucket.org:ironsand/cookbook-foo.git foo/
代替。有关更多详细信息,请参阅git-submodule
手册页;这里的相关git-submodule
语法是
git submodule [--name <name>] <repository> [<path>]
其中...
<repository>
是新子模块的原始存储库的URL。<path>
,如果指定,则确定(超级项目的根目录)子目录的名称,以接收生活在<repository>
的仓库的克隆;如果未指定,<path>
默认为该回购的名称。<name>
是子模块的名称,即出现在.gitmodules
文件中相应子模块条目中的名称;如果未指定,<name>
只是默认为<path>
。这是一个修复想法的玩具示例:
$ cd ~/Desktop
$ mkdir test
$ cd test
$ git init
$ git submodule add --name brutus https://github.com/bradfitz/gitbrute bradfitz_bruteforce
$ ls -a
. .git bradfitz_bruteforce
.. .gitmodules
$ cat .gitmodules
[submodule "brutus"]
path = bradfitz_bruteforce
url = https://github.com/bradfitz/gitbrute