golangっぽいコードに整形してくれるgofmtをcommit直前に実行し、 gofmtの結果追加の差分がでたら、1度commitを取りやめるようなcommit hookを書きました。 gofmtは差分があってかつ、拡張子が.goのファイルにのみ実行されます。
デモ
コード
このコードを.git/hooks/pre-commit
に書いておけば、commit直前にhookされるようになります。
最後に
複数人でコードを書くような場合に、共通のhooksとしてそれぞれ設定おけば、 必ず整形されたコードのみがcommitされる良い状態になるのかなと考えて書いてみました。
※エディタをきちんと設定しようっていう話で済む気もしますが、別の試みとしてやってみた感じです。