Yeji's Tech Notes
article thumbnail
반응형

개요

프로젝트 개발 중 일일히 브랜치 삭제하는 과정이 귀찮아서 지난 글에서 머지 후 브랜치를 바로 삭제하도록 설정했습니다.

그런데 Develop -> Main으로 머지하는 과정에서 Develop 브랜치도 삭제되어 Branch Protection Rule을 적용해봤습니다.

 

[ 이전 글 : Github PR 머지 후 브랜치 삭제하기 ]

 

[Github] Github PR 머지후 브랜치 삭제하기

개요 Github에서 개발하는 중 기능 별로 branch 생성해 작업하는 과정에서 일괄적으로 브랜치 제거해주는게 번거로워서 알아봤습니다. 브랜치 삭제 브랜치 삭제할 repo -> Settings -> General 스크롤을 밑

yejipro.tistory.com

 

프로젝트 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/

 

How to set up Git branch protection rules - Spectral

Learn how to set up git branch protection for GitHub, GitLab, and Bitbucket to protect your code quality and security

spectralops.io

 

반응형
profile

Yeji's Tech Notes

@Jop

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!