GitHub에서 분기 보호 활성화
당신은 이런 경험이 없습니까?
어렵게 CI를 설정했는데 시험에 실패한 플릭을 합병했다!
댓글이 끝나기도 전에 합쳐졌어요!
비록 그렇다 하더라도, 나는 아무도 그런 일을 할 수 없다고 생각하지만, 조심하지 않은 잘못은 누구나 언제든지 발생할 수 있다
사고를 방지하기 위해서도 지점 보호를 잘 설정하고 싶다
따라서 지점 보호의 설정 방법과 항목을 간단하게 설명하고 싶습니다.
보호 지점
무료 계정은 개인 저장소 보호를 설정할 수 없습니다
Pro로 업그레이드(원본 버전이면 Team보다 크거나 같음) 또는public 저장소로 설정
대상 원격 저장소 액세스 및 선택Settings
Branches
를 선택하고 Add rule
에 분기 보호 규칙을 추가합니다.
보호된 지점의 이름 등Create
을 입력하여 삭제를 제한할 수 있습니다.
다른 설정 항목에 관해서는 간단하지만 설명을 하고 싶습니다
보호 설정 항목
Branch name pattern
분기 이름 또는 glob
지정 모드 사용
※ *[master|develop]*
, release-*
, etc...
지정한 브랜치를 삭제할 수 없습니다.
Require pull request reviews before merging
pull request에 따라 심사 진행 요구
Required approving reviews
병합에 필요한 승인 수 설정
1 설정 후 하나 이상의 승인이 있어야 병합할 수 있습니다.
Dismiss stale pull request approvals when new commits are pushed
pull request 승인 후 새 commit
가 push
로 설정되면 다시 승인하기 전에 합병할 수 없습니다
Require review from Code Owners
코드 소유자 감사 요구
프로젝트 루트 디렉터리에 .github/CODEOWNERS
라는 파일을 추가하여 코드 소유자를 설정할 수 있습니다
※ 프로젝트 루트 바로 아래에서 제작CODEOWNERS
도 가능하지만, .github/CODEOWNERS
이 더 이해하기 쉽다고 생각합니다.
.github/CODEOWNERS# 全ファイルの所有者
* @username1
# 特定の拡張子のファイル所有者
*.html @username2
*.js @username2
*.scss @username2
# 特定のディレクトリ直下ファイルの所有者
# Eメールアドレスも指定可
tests/* [email protected]
Restrict who can dismiss pull request reviews
감사를 거부할 수 있는 사용자/팀을 설정할 수 있습니다.
승인된 경우에도 여기에 설정된 사용자는 감사를 거부할 수 있습니다.
Require status checks to pass before merging
상태 확인 사용
사용GitHub API v3의 Statuses을 통해 상태 확인 사용자 정의 가능
Require branches to be up to date before merging
기본 브랜치의 최신 설정이어야 합니다.
다른 설정(예: 검토 필요)이 설정된 경우 기초에서 가져온 commit
PR도 작성 및 검토해야 합니다.
Status checks found in the last week for this repository
공동 작업 서비스 목록 표시(Circle CI, Travis CI 등)push
통과하고 싶은 테스트와 처리가 있으면 대상의 서비스를 확인하십시오
Require signed commits
서명 제출 요구
서명 제출에 대한 정보는 다음을 참조하십시오.
다양한 Git 도구 - 작업 서명
Include administrators
Owner/Admin 권한 소유자도 지점 보호를 제한하는 설정
Restrict who can push to matching branches
push
할 수 있는 사람/팀을 화이트리스트형으로 지정
원본 항목만
후기
'실패의 여지가 있는 사람은 실패한다'일
실수는 반드시 발생한다
걱정 없이 개발하기 위해 자료 파일 라이브러리를 만들 때도 설정을 잊지 마라
내 경우 master
담당자 또는 CI 서비스가 설정될 수 있도록 Restrict who can push to matching branches
만 설정push
최소한 한 사람의 승인, 테스트 경로가 필요하고develop
도 검사를 진행했다
책임지는 서비스는 소수의 사람들이 개발하기 때문에 필요한 최소한의 설정에 머물러 있다
분기 모델 및 워크플로우에 따라 적절한 설정이 변경되므로 최적의 설정을 찾아 보십시오.
참고 자료
Configuring protected branches
About protected branches
About code owners
About required commit signing
다양한 Git 도구 - 작업 서명
[GitHub] 브랜치 보호 설정 활용 [심사 통과 전까지 통합하지 않음]
머피의 법칙 ↩
Reference
이 문제에 관하여(GitHub에서 분기 보호 활성화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KeisukeKudo/items/6404f51d1f4407661321
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 全ファイルの所有者
* @username1
# 特定の拡張子のファイル所有者
*.html @username2
*.js @username2
*.scss @username2
# 特定のディレクトリ直下ファイルの所有者
# Eメールアドレスも指定可
tests/* [email protected]
Configuring protected branches
About protected branches
About code owners
About required commit signing
다양한 Git 도구 - 작업 서명
[GitHub] 브랜치 보호 설정 활용 [심사 통과 전까지 통합하지 않음]
머피의 법칙 ↩
Reference
이 문제에 관하여(GitHub에서 분기 보호 활성화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KeisukeKudo/items/6404f51d1f4407661321텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)