개요
프로젝트 개발 중 일일히 브랜치 삭제하는 과정이 귀찮아서 지난 글에서 머지 후 브랜치를 바로 삭제하도록 설정했습니다.
그런데 Develop -> Main으로 머지하는 과정에서 Develop 브랜치도 삭제되어 Branch Protection Rule을 적용해봤습니다.
[ 이전 글 : Github PR 머지 후 브랜치 삭제하기 ]
프로젝트 Setting
Project -> Setting -> Code and automation (Branches)
main 브랜치는 default 브랜치로 protection rule이 적용되어 있습니다.
이제 Add rule을 클릭해 Develop 브랜치의 rule을 추가해보도록 하겠습니다.
protection rule 적용하기
Branch name pattern
- develop
만약 특정 브랜치 외에 prefix 값이 일치하는 브랜치를 적용하고 싶은 경우,
- develop*
{브랜치명}* : 브랜치 명뒤에 *을 붙이면 됩니다.
Protect matching branchs
- Require a pull request before merging
브랜치에 직접 PUSH할 수 없습니다. 무조건 PR을 통해서만 반영할 수 있습니다. 저희 프로젝트에서는 코드리뷰를 원칙으로 하기 때문에 이와 같은 Rule은 필요하여 적용해봤습니다.
Require a pull request before merging 클릭 시 세부 설정이 있습니다. 해당 설정을 보면
- Require approvals
PR의 승인할 인원수 : 저희 프로젝트에서는 백엔드 개발자만 코드리뷰를 하니 저를 제외한 1명만 필요하도록 하였습니다.
Require status checks to pass before merging
merge 전에 상태 체크를 먼저 진행합니다. 테스트 코드등을 미리 돌려 문자 그대로 PR의 상태를 확인할 수 있습니다. 상태 체크의 경우 Github Action을 통해서 가능합니다. 해당 설정은 Github Action을 사용하는 프로젝트에서 추천드립니다. 저는 Jenkins를 사용하고 있어서 별도로 설정을 추가하지는 않았습니다.
Do not allow bypassing the above settings
관리자 권한을 가진 유저들도 해당 설정을 지키지 않으면 머지할 수 없도록 막습니다. 관리자도 예외없이 따라야된다는 설정입니다.
참고링크
https://spectralops.io/blog/how-to-set-up-git-branch-protection-rules/
'개발' 카테고리의 다른 글
OAuth 원리와 이해 (feat. 카카오 로그인) (2) | 2024.09.23 |
---|---|
[GIT] .gitignore 을 중간에 적용했을때 반영하는 법 (2) | 2024.01.07 |
[GIT] STS에서 공백 변경사항 인식 문제 (0) | 2023.11.07 |
[Github] Github PR 머지후 브랜치 삭제하기 (0) | 2023.06.09 |