雑草SEの備忘録

東大を卒業し、SEとして働くことになった。備忘録的に作業を綴る。

git submoduleのちょっとしたこと

git submoduleでsubmoduleが更新されたから自分のブランチでも反映させたいという場合、

git submodule foreach git pull origin master

こう叩くと、すべてのsubmoduleが最新化されます。 あとは普通にcommitすればOKです。

自分で更新する場合はいいのですが、git submoduleを使っていると、誰かがsubmoduleを更新してcommitしたあと差分が見えてしまうことがあります。具体的には次の画像のような感じです。git stはgit statusのエイリアスです。
f:id:smartenergy:20170102135240p:plain:w360
これ、気持ち悪いですよね。submoduleの方は触ってないから差分を解消したい!そういうときには

git submodule update

をします。
f:id:smartenergy:20170102135644p:plain
すると、差分は解消されます。
f:id:smartenergy:20170102135716p:plain:w300
デザイナーさんとかで特にsubmoduleを触らないけど、メインのリポジトリは触って困るという場合の備忘録でした。