Gitのローカル作業ブランチをリモートへ誤プッシュするのを防止する方法

ローカル作業ブランチをリモートにプッシュできないGit運用で誤プッシュを防止する方法についての備忘録。


対応

pre-pushフックを使ってプッシュ時にブランチ名のチェックを行う。

例) 作業ブランチ名がfeature/xxxの場合。

[.git/hooks/pre-push]

#!/bin/sh

current_branch=$(git symbolic-ref HEAD)

if [[ "$current_branch" == *refs/heads/feature/* ]]; then
  echo "You are trying to push a 'feature/' branch. Pushes to 'feature/' branches are not allowed."
  exit 1
fi

exit 0

※Unix系OSの場合はchmod +x .git/hooks/pre-pushでpre-pushフックファイルに実行権限を設定してください。


結果

feature/#001という名称のローカルブランチをリモートにプッシュしようとしたときのTortoiseGitの画面は以下の通り。

file

プッシュコマンドがエラーになってプッシュできないことが確認できます。


以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする