Git добавить папку с существующим репозиторием Git

Я создаю репозиторий git для своей установки MacVim. Некоторые плагины в моем репозитории имеют свои собственные папки и репозиторий .git. Проблема в том, что ... когда я пытаюсь добавить одну из этих папок в свой основной репозиторий, она ничего не делает.

Моя догадка:

Я не могу добавить папку, потому что это сам по себе репозиторий git. Я должен добавить как подмодуль или удалить папку .git.

Как мне добавить свои дополнительные репозитории в качестве подмодуля?

bryan-mini:.vim bsaltzman$ git status
# On branch master
# Changes not staged for commit: 
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   bundle/YouCompleteMe (modified content)
#   modified:   bundle/nerdtree (modified content)
#   modified:   bundle/ultisnips (modified content)
#
no changes added to commit (use "git add" and/or "git commit -a")   

// This 
bryan-mini:.vim bsaltzman$ git add bundle/YouCompleteMe/
//  OR THIS
bryan-mini:.vim bsaltzman$ git submodule add bundle/YouCompleteMe/
repo URL: 'bundle/YouCompleteMe/' must be absolute or begin with ./|../

bryan-mini:.vim bsaltzman$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   bundle/YouCompleteMe (modified content)
#   modified:   bundle/nerdtree (modified content)
#   modified:   bundle/ultisnips (modified content)
#
no changes added to commit (use "git add" and/or "git commit -a")

person Bryan    schedule 24.10.2013    source источник


Ответы (2)


Похоже, вы могли правильно добавить эти репозитории в качестве подмодулей, но вы изменили / добавили / удалили файл внутри этих репозиториев. Если вы войдете в bundle / nerdtree и выполните команду «git status», он должен сообщить вам, что отличает. Если вы вернете подмодуль в чистое состояние, верхний уровень должен перестать говорить «измененный контент»

Также ваша команда:

git submodule add bundle/YouCompleteMe/

это неверно. 'git submodule add' принимает URL-адрес репо, например:

git submodule add https://github.com/Valloric/YouCompleteMe.git

Но из вашего вывода похоже, что вы уже сделали это правильно в какой-то момент. Похоже, вы используете Pathogen для управления своими подмодулями - документация для него должна хорошо провести вас через этот процесс. Или вы можете переключиться на Vundle, который, по-видимому, имеет некоторые преимущества (лично я все еще использую Pathogen).

person randy909    schedule 09.12.2013

Правильный способ добавления репозиториев, существующих в подпапках, просто выполнить:

git submodule add (repo url) в родительской папке.

Например:

cd ~/.vim/bundle
git submodule add https://github.com/Valloric/YouCompleteMe.git
person Pavel Sergeev    schedule 20.08.2016