master直プッシュの際にプロンプトで確認するようにする

アプリケーション

概要

gitでmasterブランチへの直pushを未然に防ぐためのセーフーティネットの作り方。
github上でmasterブランチへのpushを禁止すれば良いのだが、DevOpsの都合上でgithubの設定では問題があったのでhooksを使う方向で設定した。

導入

グローバルに設定したいので~/.git_template/hooks配下にpre-pushファイルを作成する。
.git_templateディレクトリが存在しない場合は作成する。

なお、グローバルに設定しても既存のリポジトリには反映されないので、既存リポジトリに反映したい場合は既存リポジトリの./git/hooks配下にpre-pushを用意し、そちらに同じソースを記述する必要がある。

pre-pushに記述する内容は gitのpre-push hookでmasterブランチにpushする際にプロンプトで確認するようにするを参照。

answer部分はyesだけにしておくほうがより安全かもしれない。

新規に作成したpre-pushには実行権限を与えておく
chmod +x pre-push

以上でセットアップ完了。

参考 


関連書籍