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

git shellscript

プログラミング

2019-05-08 17:04:11

概要

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

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

参考 

About the author

Image

bmf san @bmf_san
A web developer in Japan.