Git のフックで push をブロック
Git リポジトリによろしくないデータが push されそうになったらブロックしたい。 具体的には、位置情報をうっかり消し忘れた画像データとかそういった類。 そもそも commit できないようにするのがベストなのだけど、ローカルでフックを効かせられる環境ばかりでもないので。
使えそうなサーバサイドフックは
pre-receive
か update
になるわけだけど、ユーザ視点で見ると違いがいまいちピンとこない。
なんだか update
が pre-receive
の上位互換に思えてしまうけれど、そう単純な話ではないのかもしれない。
ともあれ今回の用途ではきっとどちらでも良くて、update
の方が実装はすこしだけ楽。
というわけで書いてみたところこんな感じになった。
ぐるぐる回してるところはこの解説を参考にさせてもらった。
検査が雑な気がするけれど、保険くらいの気持ちで置いているのでこの程度で。