Git更新不是从子模块更改 - 〜/ .vim - 病原体

问题描述:

我按照这里的指南John Anderson Vim Setup来帮助设置vim。他步骤通过添加各种子模块git在格式Git更新不是从子模块更改 - 〜/ .vim - 病原体

git submodule add http://github.com/tpope/vim-fugitive.git bundle/fugitive 

自从完成他的指南我做了进一步的修改。超越我自己我在Ubuntu上我的路径是〜/ .vim,并且我使用了指南中描述的确切{autoload,bundle}设置。

我想包括我在〜/ .vimrc中添加的更改以及我已安装到github中的其他软件包,以便我可以克隆它并继续使用任何其他PC。

真的很难找出如何获得git的变化。例如,在我的〜/ .vim/bundle /目录中,它有两个新文件夹delimitMate和colorschemes。然而,当我做git push时,它会返回所有最新的内容。

我错过了什么?

那些是子模块,我想。你需要做的,什么是:

# To add new modules 
git add .gitmodules 
git commit -m "Add new bundles" 
# To add changes in vimrc 
git add vimrc 
git commit -m "Update my vimrc" 
# To upload to Github 
git push origin 

在另一台PC,克隆后/拉GitHub库,您需要:

git submodule init 
git submodule update 

为了拉动新的变化,你可以稍后子模块:

git submodule foreach git pull origin master 
# NOTE: no trailing slash! 
git add bundles/fugitive 
git add bundles/etc 
git commit -m "Update bundles" 
git push 

您可以通过以下命令减少许多add S:

git ls-files -m bundles | xargs git add 
+0

谢谢,效果很好。因为我的.vimrc在〜/中,而且我的git repo在〜/ .vim/.git中,所以我不得不将该文件复制到〜/ .vim /文件夹中。无论如何,将〜/其他文件夹添加到回购库存在吗? – sayth

+0

您可以将'vimrc'存储在repo中,并在$ HOME中创建符号链接,如'cd $ HOME && ln -s .vim/vimrc .vimrc' – dmedvinsky

尝试:

git submodule update 
git add delimitMate colorschemes [and any other file names] 
git commit -m "My changes" 
git push origin master 

推是远程仓库。承诺将致力于您当地的回购。必须首先在本地提交更改,然后才能推送到远程存储库。