[追記] その2を書きました:
http://blo
長くなりそうなので続きはその2で!
railsを使っているとpluginなどは外部repoをそのまま使いたくなります。そこで前から聞いていたsubmoduleを使ってみたくなりました。しかしこのsubmodule、わりと最近導入されたようなのでgitのバージョンによって動作に違いがあるようです。
というわけで、まず私の環境を書いておきます:
1 % git --version 2 git version 1.6.0.2
git submodule add
rspecを例に:
1 % git submodule add git://github.com/dch elimsky/rs pec.git vendor/plu gins/rspec
追加したらcommit and push
1 % git commit -am "add submodule:plugins/rs pec" 2 % git push origin master
これでサーバにsubmoduleが追加されました。他の人がpullなどすれば、submoduleを確認することができます(詳しくはその2を参照)
で、次にsubmoduleのstatusを確認してみます。
git submodule status
git statusと同じようなコマンドでsubmoduleの状態が確認できます:
1 % git submodule status 2 9dc19a3a593f4ce1b4e2 21889091ce bd773ea5c4 vendor/plu gins/cache _fu (heads/mast er) 3 -e110f2056 783465b8d7 19bdb1ab5f d14e7650f5 6 vendor/plu gins/rspec 651611999d f3e57de6f3 6486b51abd 3bf5d66cea vendor/rai ls (v2.2.0-108 5-g6516119 )
commit hashに-、+がついている時がある(上だとrspecに-がついてます)。
ざっくり説明:
- -がついているとまだ初期化されていない状態
=> git submodule update --initでok - +がついているとサーバでindexしているcommit hasと異なるcommit hashだよというお知らせ
=> git submodule updateでok
posted by
satoko
on Fri 3 Apr 2009
at 17:26