26
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

特定ブランチのgit push origin masterを禁止する

Last updated at Posted at 2016-08-17

Gitでgit push origin masterを禁止するやり方

背景

個人開発では自由ですが、チーム開発でmasterにpushすると信用を失いかねません。masterにpushしないようにしようと心がけることは大事ですが、人間はミスをする生き物なので、機械に未然に防いでもらいたいものです。今回はそのやり方を共有します。

gitのhooksを使うやり方

1 .git/hooks/pre-pushを作成
2 .git/hooks/pre-pushを編集

#!/bin/bash

while read local_ref local_sha1 remote_ref remote_sha1
do
  if [[ "${remote_ref##refs/heads/}" = "master" ]]; then
    echo "Do not push to master branch!!!"
    exit 1
  fi
done

3 作ったファイルに実行権限を付与
$ chmod a+x .git/hooks/pre-push

これでターミナルを再起動すれば、該当レポジトリでgit push origin masterをした時にターミナルに
Do not push to master branch!!!
と表示されます。

.zshrcに追記する方法もある

http://qiita.com/akymrk/items/b46b03b313850e3ae418
しかし、私の場合、他人に迷惑のかからない個人プロジェクトではmasterに直接pushしたいのでこちらの採用は見送った。

26
22
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
26
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?