[작성중인 포스트 입니다.]
💡 branch를 보호해야하는 이유
✔️ 협업을 할 때는 각자 기능이나 역할에 따라 branch를 생성하고 작업합니다.
✔️ 이 때 저장소를 자신만 쓰는 것이 아니라 다수가 공유하며 작업을 하기 때문에 rule을 만드는 것은 매우 중요합니다.
💡 branch를 보호해보자!
![](https://velog.velcdn.com/images/joonoo3/post/d3c465f9-d7b4-4114-b7f4-de14069e7553/image.png)
✅ 먼저 본인의 repository에서 Settings - Branches - Add branch protection rule을 눌러줍니다.
![](https://velog.velcdn.com/images/joonoo3/post/842ae3cb-58ff-4f09-b84f-2d7c6da7537e/image.png)
✅ Branch name pattern은 규칙이 적용될 브랜치 이름을 뜻합니다.
❗️testbranch/* , test* 같이 와일드카드를 적용할 수 있습니다.
✅ Require a pull request before merging
❗️해당 branch에 수정사항을 적용하기 위해서는 반드시 Pull Request를 거쳐야 합니다.
✅ Require status checks to pass before merging
❗️Github Action을 통해 테스트를 통과한 사항만 merge를 요청할 수 있습니다.
✅ Require conversation resolution before merging
❗️merge를 하기전 모든 conversation을 확인해야 진행이 됩니다.
✅ Require signed commits
❗️서명된 commit에 관해서만 push가 가능합니다.
✅ Require merge queue
❗️merge queue에 한해서만 허용합니다.
✅ Require linear history
❗️선형적인 기록을 위해 squash, rebase같은 유형의 push만 허용합니다.
✅ Require deployments to succeed before merging
❗️배포에 성공한 사항만 merge가 가능합니다.
✅ Lock branch
❗️push를 금지합니다.
✅ Do not allow bypassing the above settings
❗️관리자도 예외없이 규칙을 적용시킵니다.
✅ Restrict who can push to matching branches
❗️지정된 사람만 push 할 수 있습니다.
Rules applied to everyone including administrators
✅ Allow force pushes
❗️강제 push를 가능하게 합니다.
✅ Allow deletionssettings
❗️브랜치 삭제를 가능하게 합니다.