2013-10-24 22 views
8

Ich mache ein Git Repository für meine MacVim Installation. Einige der Plugins in meinem Repository haben ihre eigenen .git-Ordner und Repos. Das Problem ist ... wenn ich versuche, einen dieser Ordner zu meinem Haupt-Repository hinzuzufügen, tut das nichts.Git Ordner mit vorhandenem Git Repository hinzufügen

Meine Vermutung:

ich den Ordner nicht hinzufügen kann, weil es ein git Repo auf seine eigene ist. Ich muss als Submodul hinzufügen oder den .git-Ordner entfernen.

Wie füge ich meine Sub-Repos als Submodul hinzu?

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") 

Antwort

4

Es sieht so aus, als ob Sie diese Repos korrekt als Submodule hinzugefügt haben, aber Sie haben eine Datei in diesen Repos geändert/hinzugefügt/gelöscht. Wenn du in Bundle/Nerdtree eingibst und einen 'git status' machst, sollte es dir sagen, was anders ist. Wenn Sie das Modul wieder in einen sauberen Zustand die oberste Ebene erhalten soll man „modifizierte Inhalt“

auch aufhören zu sagen, Ihren Befehl:

git submodule add bundle/YouCompleteMe/ 

ist falsch. ‚Git Submodul Add‘ nimmt eine Repo-URL wie so:

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

Aber von Ihrer Ausgabe sieht es aus wie Sie bereits, dass korrekt irgendwann getan haben. Sie scheinen Pathogen zu benutzen, um Ihre Submodule zu verwalten - die Dokumente dafür sollten Sie ziemlich gut durch diesen Prozess führen. Oder Sie könnten zu Vundle wechseln, was offensichtlich einige Vorteile hat (persönlich bin ich immer noch auf Pathogen).

0

korrekte Art und Weise repos hinzuzufügen in Unterordnern vorhandenen ist einfach auszuführen:

git submodule add (repo url) in übergeordneten Ordner.

Zum Beispiel:

cd ~/.vim/bundle 
git submodule add https://github.com/Valloric/YouCompleteMe.git