У меня есть крюк pre-commit Git, который мешает мне совершать мастерство, если не переопределено, чтобы поощрять разработку на ветке.
Однако я хотел бы автоматически разрешить комманды слияния для овладения. Есть ли способ идентифицировать фиксацию слияния из моего крючка pre-commit script? script выглядит следующим образом:
#!/bin/bash
BRANCH=`git branch --color=never| grep '^*'|cut -c3-`
if [ "${BRANCH}D" == "masterD" -a "${GIT_COMMIT_TO_MASTER}D" != "trueD" ]
then
echo "Commit directly to master is discouraged."
echo "If you want to do this, please set GIT_COMMIT_TO_MASTER=true and then commit."
exit 1
fi
SOLVED: Для тех, кто ищет вырезку и вставку, рабочая версия этого хука script:
#!/bin/bash
BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ "${BRANCH}" == "master" -a "${GIT_COMMIT_TO_MASTER}" != "true" ]
then
if [ -e "${GIT_DIR}/MERGE_MODE" ]
then
echo "Merge to master is allowed."
exit 0
else
echo "Commit directly to master is discouraged."
echo "If you want to do this, please set GIT_COMMIT_TO_MASTER=true and then commit."
exit 1
fi
fi