2013-05-07 146 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