防止某个分支被合并提交

通过git hook 防止开发人员推送test代码到远端

 #!/bin/sh

# test 分支不允许merge
TEST_BRANCH="test"
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
MERGE_HEAD=$(cat .git/MERGE_HEAD)
MERGE_BRANCH_NAME=$(git name-rev $MERGE_HEAD --name-only)
# 如果当前合并分支 匹配 test 分支
if [[  "$MERGE_BRANCH_NAME" == *"$TEST_BRANCH"* ]]; then
   echo "检测到非法合并: $MERGE_BRANCH_NAME ——into——> $CURRENT_BRANCH"
   echo "撤销合并中..."
   git merge --abort
   echo "已撤销合并"
fi
exit 0