LoginSignup
27
21

More than 5 years have passed since last update.

gitでmasterへのpushを禁止する

Last updated at Posted at 2014-11-30

スクリーンショット 2014-11-30 23.32.23.png

やることは同じなのでこちらのソースをほぼそのまま使っています。
マスターブランチでのコミットを禁止するpre-commitスクリプト

なぜ必要か

機動的な運用のためwrite権限を持って開発するフローを導入した時

gitに慣れない人が
git push -f origin master
な〜んてコマンドをググってきて打ってしまう
↑困るから禁止

PRからでないとmasterを改変できなくする

導入

cd {githome}/.git/hooks/
vi pre-push
chmod 775 pre-push


#!/bin/sh

# if the branch is master, then fail.

branch="$(git symbolic-ref HEAD 2>/dev/null)" || \
       "$(git describe --contains --all HEAD)"

if [ "${branch##refs/heads/}" = "master" ]; then
    echo "masterへのpushはダメ〜〜〜〜!!"
    exit 1
fi

問題なとこ

各個人のローカルに設定するので、漏れができる可能性はある。運用をしっかり


追記: 現在はgithubにprotected branchの機能が追加されたのでそちらを使うほうが個人ごとの設定に依存しないで済むので好ましいです

27
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
21