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

时间:2011-11-12 06:38:12

标签: git vim pathogen

我正在按照John Anderson Vim Setup的指南来帮助设置vim。他逐步将各种子模块以格式

添加到git中
git submodule add http://github.com/tpope/vim-fugitive.git bundle/fugitive

自完成指南以来,我做了进一步的改动。超越自己我在ubuntu我的路径是〜/ .vim,我使用了指南中描述的确切{autoload,bundle}设置。

我希望将我在〜/ .vimrc中添加的更改以及我已安装到我的github中的ohther捆绑包中包含,以便我可以克隆它并继续使用任何其他PC。

真的很难弄清楚如何获取git的变化。例如,在我的〜/ .vim / bundle /目录中,它有两个新的文件夹delimitMate和colorschemes。但是,当我执行git push时,它会返回所有内容。

我错过了什么?

2 个答案:

答案 0 :(得分:4)

我认为这些是子模块。你需要做的是:

# 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

git ls-files -m bundles | xargs git add

答案 1 :(得分:1)

尝试:

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

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