Параметр `–name` не работает с командой` git submodule add`

Я хочу добавить git-подмодуль с другим именем, например:

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

Я хотел создать каталог подмодулей git с именем foo , но репозиторий создается с именем cookbook-foo .

Скорее всего, я делаю что-то неправильно, но я не знаю, что случилось.

Как я могу изменить имя каталога подмодуля git?

Не свяжите путь и имя подмодуля. Вы хотите запустить

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

вместо. Для получения дополнительной информации см. Man-страницу 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 

Функция имени работает, загляните в ваш файл .gitmodules . Не уверен, для чего он нужен; Я не работаю с пультом.

Изменение пути аналогично git init :

 git submodule add git@server.com:repo.git mydirectoryname