이를 위해 사전 커밋 유틸리티를 사용할 수 있습니다 . no-commit-to-branch하나 이상의 분기에 대한 커밋을 방지하는 데 사용할 수있는 후크가 내장되어 있습니다.
설정
기본 설정 프로세스는 다음과 같습니다.
- pip 또는 brew를 사용하여 설치 ( https://pre-commit.com/#install의 지침 )
.pre-commit-config.yaml프로젝트의 루트에 파일을 만듭니다 (첫 번째 초안은 아래 참조).
- 을 실행하여 git 구성에 후크를 설치합니다
pre-commit install.
분기 보호를위한 기본 구성
다음은 no-commit-to-branch후크 만 포함하는 기본 구성입니다 .
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
hooks:
- id: no-commit-to-branch
args: ['--branch', 'master']
여러 분기를 보호 --branch하려면 인수 목록에 여러 인수를 포함 할 수 있습니다 .
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
hooks:
- id: no-commit-to-branch
args: ['--branch', 'master', '--branch', 'staging']
이 모든 것이 과잉 아닌가?
사전 커밋에는 다른 많은 내장 후크 와 커밋을 정리하고 유효성을 검사하는 방식을 변화시킬 커뮤니티 구축 후크 모음이 있습니다 . 내가 이것을 언급 한 이유는이 도구가 보호 된 브랜치에 대한 커밋을 막기에는 과도 할 수 있지만 모든 git 프로젝트에 매력적이고 간단한 추가를 만드는 다른 많은 기능이 있기 때문입니다.
git commit, 새로운 것을 만들고, 빨리 감기가 일어나지 않습니다. 현재 분기가master인 경우 일반 커밋을 금지하려는 것처럼 들립니다 .이 경우pre-commit후크를 살펴보십시오 .