`--name`选项不能与`git submodule add`命令一起使用

时间:2014-10-06 11:49:49

标签: git

我想添加一个不同名称的git子模块,如:

git submodule add --name foo git@bitbucket.org:ironsand/cookbook-foo.git

我想创建一个名为foo的git子模块目录,但是使用名称cookbook-foo创建存储库。

我很可能做错了什么,但我不知道出了什么问题。

如何更改git子模块目录的名称?

1 个答案:

答案 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