| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 큐
- 그리디알고리즘
- BOJ
- 스택
- 너비우선탐색
- 자료구조
- 다이나믹프로그래밍
- 알고리즘
- 프로그래머스
- Xcode
- 파이썬
- python3
- 구현
- programmers
- 백준알고리즘
- 코딩테스트
- 정렬
- 트리를사용한집합과맵
- swift
- 그래프탐색
- Python
- 문자열
- 백준
- 깊이우선탐색
- 누적 합
- 그래프이론
- 해시를사용한집합과맵
- 브루트포스 알고리즘
- Mac
- 두 포인터
- Today
- Total
Coding Cantabile
[Git] Git Protected branch 설정 (Branch Protection Rule) 본문
팀원들과 하나의 레포지토리를 브랜치를 여럿 나눠서 작업을 진행하던 중, 깃허브에 이런 메시지가 떴다.

Your master branch isn't protected
Protect this branch from force pushing, deletion, or require status checks before merging
대충 해석을 하자면, 브랜치가 보호가 되지 않고 있다. 올바른 코드만이 올라가야 할 마스터 브랜치에 push나 삭제, 상태 체크 등을 미리 하여 마스터 브랜치를 보호하라는 의미인 거 같았다. 그래서 깃허브에는 코드를 적용 하기 전에 protected branch라는 것을 만들어서 브랜치를 보호하기 위해 protection rule을 설정할 수 있다.
Protect matching branches

Protect this branch를 누르면 안에 이러한 창이 뜬다. 하나씩 살펴보자.
Require a pull request before merging

merge전에는 반드시 Pull Request를 해야한다. (master을 제외한 브랜치로 일단 커밋 후 PR과정을 거쳐 리뷰 후에 merge가 해야한다) 서브 옵션들은 다음과 같은데, 대표적으로 'Require approvals' 은 지정한 휫수 만큼 승인이 되어야 Merge 가능하게끔 휫수를 설정하는 것이고, 'Dismiss stale pull request approvals when new commits are pushed' 는 새로 Pull Request를 수정하여 요청하면 기존 Pull Request를 무효화 할 것인지에 대한 여부, 'Require review from Code Owners' 는 코드의 소유자에게도 Pull Request를 받아야하는 지에 대한 여부이다.
Require status checks to pass before merging

테스트 결과, 기존 브랜치와 충돌이 없을 때에만 Merge가 가능하다.
Require conversation resolution before merging
Pull Request 과정 중 있었던 Conversation들이 모두 해결이 되었을 때 Merge되도록 한다.
Require signed commits
작성자가 직접 Sign한 커밋만 허용한다.
Require linear history
커밋이 히스토리에 남지 않도록 한다. 분기를 불가능하게 한다.
Require deployments to succeed before merging
배포가 성공하면 Merge를 가능하게 한다.
Lock branch
브랜치가 읽기 전용 으로 바뀐다.
Do not allow bypassing the above settings
이 설정을 우회하는 것을 금지한다.

Allow force pushes
강제로 푸쉬하는 것을 허용한다.
Allow deletions
삭제를 허용한다.
'Git' 카테고리의 다른 글
| [Git] 좋은 Commit 메시지를 작성하는 방법(how to write a git commit message) (0) | 2022.12.04 |
|---|