88171.net

I stand with Ukraine🇺🇦

Git のフックで push をブロック

Git リポジトリによろしくないデータが push されそうになったらブロックしたい。 具体的には、位置情報をうっかり消し忘れた画像データとかそういった類。 そもそも commit できないようにするのがベストなのだけど、ローカルでフックを効かせられる環境ばかりでもないので。

使えそうなサーバサイドフックpre-receiveupdate になるわけだけど、ユーザ視点で見ると違いがいまいちピンとこない。 なんだか updatepre-receive の上位互換に思えてしまうけれど、そう単純な話ではないのかもしれない。

ともあれ今回の用途ではきっとどちらでも良くて、update の方が実装はすこしだけ楽。 というわけで書いてみたところこんな感じになった。 ぐるぐる回してるところはこの解説を参考にさせてもらった。

検査が雑な気がするけれど、保険くらいの気持ちで置いているのでこの程度で。