# master, develop 브랜치에는 github 페이지에서 pull request 하게 된다.
# 만약 로컬에서 master, develop 브랜치 상태에서 커밋을 방지하려면
# 다음과 같이 pre-commit 파일을 만들어 주면 된다.
# 참고로 아래처럼 cat 사용시 구분자 (zzz) 를 '' 또는 "" 로 묶어줘야 한다.
# 아니면 $는 이스케이프(\)처리해줘야 한다.
# 아니면 $는 이스케이프(\)처리해줘야 한다.
cat > .git/hooks/pre-commit << 'zzz'
#!/bin/sh
branch=$(git rev-parse --abbrev-ref HEAD)
if [ "$branch" = "master" ] || [ "$branch" = "develop" ]; then
echo "You can't commit directly to $branch branch"
exit 1
fi
zzz
chmod +x .git/hooks/pre-commit
# 이제 master, develop 등에 브랜치에서 commit 명령을 실행하면
# 위 에러메시지 출력 후 커밋이 진행되지 않는다.
branch=$(git rev-parse --abbrev-ref HEAD)
if [ "$branch" = "master" ] || [ "$branch" = "develop" ]; then
echo "You can't commit directly to $branch branch"
exit 1
fi
zzz
chmod +x .git/hooks/pre-commit
# 이제 master, develop 등에 브랜치에서 commit 명령을 실행하면
# 위 에러메시지 출력 후 커밋이 진행되지 않는다.