2013-05-07 220 views
2

我試圖把我的.vim目錄github上。Git全推,沒有參考?

我使用pathogen,所以在.vim/bundle下,我有一些插件,這也是git倉庫。

當我推到github上它們被轉換爲綠色文件夾圖標

(其作爲我明白是一個裁判其他回購)。

這裏是一個屏幕截圖。

enter image description here

我希望我的.vim的完整備份,所以我可以做git clone到我的其他機器了。

  • 我可以從github全功能克隆克隆回購嗎?我在.vim/bundle下找到空的目錄。

  • 或推它充分從我的本地機器,並避免所有的綠色文件夾在一起嗎?

+0

它們是子模塊嗎? – asm 2013-05-07 13:26:44

+0

@AndrewMyers號 – static 2013-05-07 13:37:36

+0

嘗試'混帳RM --cached bundle','git的補充包/ * /'。 – Chronial 2013-05-07 15:00:56

回答

4

Git會檢測子目錄git倉庫,並默認將其添加爲這樣的 - 只注意到他們目前已簽出提交SHA 。您可以通過運行git add subfolder/*來規避該行爲。但是,這隻有在給定的子文件夾當前不是緩存的一部分時纔有效。所以在你的情況下,你需要運行這些命令(假設文件夾名稱中沒有空格):

git rm --cached bundle 
ls --color=never bundle | xargs -t -n1 -I {} git add "bundle/{}/" 
+0

謝謝!!我不得不手動爲每個文件夾下的包/ /它工作!! *注意* xargs命令不起作用,這裏是輸出致命:pathspec'包/ { }/*'不匹配任何文件 – static 2013-05-07 18:10:22

+0

我編輯了答案並添加了正確格式的xargs命令 – static 2013-05-07 18:57:48

+0

很高興我能提供幫助,但我很困惑 - 在我發佈它之前我嘗試了這個命令,並且它適用於我。我看不到任何編輯? – Chronial 2013-05-07 19:21:01

0

What does this green icon mean in a github repository?

貌似子模塊。在你的git的源代碼中檢查一個名爲.gitmodules的文件。

如果該文件存在,你需要克隆庫如下:

git clone address 
git submodule init 
git submodule update 
+1

謝謝。我沒有.git模塊下的.git文件 – static 2013-05-07 13:56:52

+1

不在.git下,但是在你的git的根目錄下。 – Vash2593 2013-05-07 14:16:16

+0

那好吧,我已經git的,的.gitignore – static 2013-05-07 14:17:21