GitでSubmoduleを更新する方法

GithubでVimの設定ファイルを管理しています.
Vimのプラグインの追加にはVundleなどを使うと手軽に追加/削除する事ができます.

しかし,自作のpuluginの場合,それでは自分で頻繁に更新してもGithubと同期する事ができません.
(できるのかもしれませんが, やり方がわかりません..)

なので, 自作のものは自分でSubmoduleとして追加する必要があります.
その場合に, 自分の変更をGithubにpushする方法です.

Submoduleを更新してpushしたい場合には,
Submoduleをaddした後に, 編集可能なリポジトリを"remote add"する必要があります.
(ただSubmoduleとして追加しても, 変更をpushすることができないので)

まず, サブモジュールを追加するには下記の様にします.
$git submodule add git://github.com/k28/hogehoge.git .vim/plugin/hoge.vim
$cd .vim/plugin/hoge.vim
次にremoteに編集可能はリポジトリとして同じものを追加します.
$git remote add writable-repos git@github.com:k28/hogehoge.git
変更点をSubmoduleの変更点をpushするには, 変更をaddしてから
$git push writable-repos master
とします. すると, ローカルのSubmoduleを更新する必要があるので更新します.
$git pull
これでローカルのサブモジュールの参照先が更新されるので Submoduleの外でsubmoduleの更新を取り込んでpushします.

0 件のコメント :

コメントを投稿