ブランチを移動するたびに、git submodule updateして同期するのが面倒くさくてsubmodule導入に尻込みしてたけど、aliasで解決したらとても便利だった。
checkoutは元々alias co に設定していたが、それが拡張された感じ。
[alias]
co="!f(){ git checkout $*;git submodule update --init;};f"
ブランチ移動時にsubmodule同期したくないときは coじゃなくてcheckout使えば良いので、融通が効いてると思う。