2013-03-30 4 views
1

Я пытаюсь добавить подмодуль git. Сам подмодуль работает без каких-либо проблем, но мой вопрос касается созданного макета при добавлении подмодуля.нежелательная вложенная папка при добавлении подмодуля git

Я добавляю простой подмодуль, называемый utils, который содержит только файл.

Я использую этот

git submodule add --force ssh://myserver/home/git_repositories/utils js/utils 

, потому что я хочу, чтобы добавить подмодуль утилиты в папке JS/Utils

проблема заключается в том, что после выполнения этой операции внутри папки JS/Utils я найти другую папку под названием utils, например js/utils/utils, и там я нахожу свой javascript.

Я хочу иметь макет как js/utils/и здесь мой javascript.

Я пытался устранить/утилиты в мерзавца подмодуль добавить как

git submodule add --force ssh://myserver/home/git_repositories/utils js/ 

но тогда Git дает

'js' already exists in the index 

Знаете ли вы каким-либо образом, чтобы избежать этого вторичные/утилиты?

Большое спасибо!

прусский синий

+0

Вы хотите, чтобы папка 'js' была пуста, за исключением этой одной директории' utils'? Подмодуль содержит папку с именем 'utils'? – Chronial

+0

Подмодуль, как часть его определения внутри Git, всегда является единым полным каталогом, поэтому он (может) действует как репозиторий в своем собственном праве. Затем этот каталог будет содержать подкаталог .git обычным образом, чтобы все репозитории имели один. –

+0

Привет, js должен иметь свои подпапки, такие как js/lib, js/controller и т. Д. Я хочу иметь/js/utils и not/js/utils/utils, потому что подмодуль создает дополнительные/utils. Я хочу только js/utils и/utils быть подмодулем –

ответ

0

Попробуйте это:

  1. удалить раздел для этого subrepo из .gitmodules файла;
  2. удалить раздел для этого подревра из .git/config файл;
  3. git rm --cached submodule_path;
  4. rm -rf submodule_path
1

Я обнаружил, что проблема была в моем первоначальном Utils репо.

Видимо, я забыл сделать GIT инициализации в этой папке, и поэтому он становится родителем как корневой уровень, создавая тем самым, что дополнительные нежелательные/Utils

Чтобы решить эту проблему, я просто должен был сделать GIT инициализации внутри папка utils, git add. , git commit и push. Когда вы тянете как подмодуль, теперь он имеет правильную компоновку!

My bad! Надеюсь, это поможет кому-то и большое спасибо за помощь.

Смежные вопросы