이력서를 작성하다가 어쩌다보니 작년에 했던 첫 프로젝트의 리팩토링을 하고 있는 나를 보게 됐다. 코드 한 줄 한 줄에 왜? 를 붙이다 보니 당시에는 찾지 못했던 오타나 불필요한 코드들이 있었다.
그래서 나름 열심히 공들여서 수정하고 이제 PR 해야지~ 하는데 무섭게 Merging is Blocked 하고 안내가 뜨면서 머지가 되지 않았다
🚨 주의! 🚨
브랜치의 설정을 변경하는 부분이니 팀 프로젝트을 진행중에 발견하셨다면 팀원과 반드시 상의 후 진행하세요!
프로젝트 repository의 setting - branches 에 가면, github에서 브랜치를 보호할 목적으로 규칙을 만들 수 있는 항목을 볼 수 있다.

우린 이미 master 브랜치에 대해 규칙을 정해둔 것이 있기 때문에 저렇게 나온다.
edit을 누르게 되면 아래와 같이 화면이 나오는데,

Protect matching branches 하위로 많은 항목들이 있고, 체크되어 있는 항목들을 확인하면 pull request가 block 된 이유를 알 수 있다. 체크된 항목을 해지하거나 항목을 해결해서 pull request가 정상적으로 진행될 수 있게 해야 한다.
나는 pr을 막고 있는 항목의 체크를 해지했다.
(이 부분은 함께하는 팀원의 의견을 꼭 물어보고 진행하는 것이 좋을 것 같다. 해당 브랜치에 혹시라도 할 수 있는 실수나 대형사고를 방지하기 위해 정해놓은 설정이기 때문에 독단적으로 규칙을 변경하게 되는 경우는 없어야 할 것이다!)
다시 pr을 하러 가보면

보기만해도 마음이 놓이는 푸르른 버튼들을 볼 수 있다.
휴우 ~
이번 이슈를 통해서 메인 브랜치를 보호할 수 있는 장치가 있다는 것을 알게 됐고... 협업시에 잘 활용할 수 있을 것 같다!
예전 두번째 프로젝트에서 급하게 pr 진행하다가 바로 마스터 브랜치에 pr을 했던 대형사고를 쳐서 고생한 적이 있는데, 이 보호장치를 미리 알았더라면..... 맘고생을 조금이라도 덜 수 있었을텐데....