blog/content/post/2013-03-16-do-not-commit-on...

1.7 KiB

title author date url has_been_twittered tmac_last_id categories
マスターブランチでのコミットを禁止するpre-commitスクリプト kazu634 2013-03-16 /2013/03/16/do-not-commit-on-master-branch/
yes
331192087183753216
git

Gitを使っていてマスターブランチでのコミットを禁止したい場合の pre-commit スクリプトのサンプルです:

#!/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 "Do not commit on the master branch!"
  exit 1
fi

git initを実行した際には、/usr/share/git-core/templates/hooks/ 配下から${GIT_DIR}/.git/hooksにコピーされるそうです。共通のスクリプトとして /usr/share/git-core/templates/hooks/ に格納してしまうのもありかもしれないと思いました。

参考