Изменения в Git обновляются не из подмодуля - ~ / .vim - Pathogen - PullRequest
0 голосов
/ 12 ноября 2011

Здесь я следовал инструкциям John Anderson Vim Setup , чтобы помочь настроить vim.он шаг за шагом добавляет различные подмодули в git в формате

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

, так как после завершения его руководства я внес дополнительные изменения.Забегая вперед, я нахожусь на Ubuntu, мой путь ~ / .vim, и я использовал точную настройку {autoload, bundle}, как описано в руководстве.

Я хочу включить изменения, которые я добавил в мой ~ /.vimrc и другие пакеты, которые я установил в свой github, чтобы я мог клонировать его и работать на любом другом ПК.

Действительно трудно понять, как получить изменения в git.Например, в моем каталоге ~ / .vim / bundle / есть две новые папки: delimitMate и colorschemes.Однако, когда я делаю git push, он возвращает все как обновленное.

Что мне не хватает?

Ответы [ 2 ]

4 голосов
/ 12 ноября 2011

Это субмодули, я полагаю. Что вам нужно сделать, это:

# 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

На другом ПК после клонирования / извлечения репозитория 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 голос
/ 12 ноября 2011

Попробуйте:

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

Pushing для удаленного хранилища. Передача будет совершать ваши локальные репо. Прежде чем вы сможете отправить в удаленный репозиторий изменения должны быть зафиксированы локально.

...