728x90
Branch를 보호하기 위한, 깃에서 제공하는 보호 장치입니다.
여러 사람들이 동시에 같은 코드 베이스에서 작업을 하다보면 여러가지 문제가 생길 수 있습니다.
허락받지 않은 사람이 무질서하게 코드를 작성하고 머지하는 경우도 발생하고,
설령 허락을 받은 멤버가 코드를 작성하고 머지하더라도 그 코드가 테스팅을 거치지 않은 문제가 많은? 코드 일수 도 있습니다.
실례로 제가 프로젝트를 진행하였을때도, 자기 짠 코드는 틀릴 일이 없다고 자신만만하게 말하시던 분 코드를 머지한 이후에 크게 문제가 발생한 경우도 있었습니다. 추후에 테스팅에 대한 중요성를 설명드리겠지만, 머지한 이후 문제가 발생한 경우 여러분들이 작업하는 프로젝트 혹은 서비스가 크게 망가질 수 도 있습니다. 그렇기에 깃허브에서는 Pull Request(Pr)라는 작업으로 코드를 머지할때, 리뷰를 받을 수 있는 장치를 제공하고 있습니다.
방법
1. Repository에서 Settings를 클릭!
2. 왼쪽을 보면 Branch가 있을 것이다. Branch 클릭!
3. 오른쪽에 Add Rule이 보일것이다. 저거를 클릭하면
클릭한 뒤에는 다양한 Protection Rule들이 보일 것이다.
간단하게 몇가지 룰에 대해서 설명하자면,
- Require a pull request before merging : 해당 브랜치에 커밋을 추가하기 위해 로컬에서 직접적으로 푸쉬가 안되고, 별도의 브랜치 혹은 포크를 이용하여 Pull Request를 해야되는 것을 설정하는 값이다. 협업 시 브랜치를 직접적으로 푸쉬하는 것으로부터 보호하고 코드리뷰를 강제하기 위해 사용한다.
- Require status checks to pass before merging : 테스트 결과 이상이 없을 때 머지가 가능하도록 한다.
- Require conversation resolution before merging : Pull Request를 날리게 되면 코드리뷰를 통해 Conversation이 생기게 되는데, 이 Conversation이 모두 solved되었을 때만 머지할 수 있도록 한다.
- Require signed commits : 커밋들이 sign이 되어있어야 한다.
- Require linear history : 해당 브랜치에서 분기를 불가능하게 만든다. 히스토리 추적을 쉽게하기 위함이며, 하나의 브랜치로 유지해야 할 필요가 있을 때 사용한다.
- Include administrators : 관리자에게도 위 5가지 Rule중 선택한 Rule이 적용되도록 한다.
- Allow force pushes : 강제 푸쉬를 허용한다는 뜻이다. force push의 경우 사용을 항상 신중히 해야한다. 어지간하면 사용하지 말자.
- Allow deletions : 유저들이 브랜치를 지울 수 있도록 허용한다. 푸쉬는 Write를 위한 명령어인데 이 명렁어에 대한 유저에게 삭제 명령을 가능하게 만드는 옵션이다. 어지간하면 사용하지 말자
728x90
'Git' 카테고리의 다른 글
[Git] Fork 란? (0) | 2022.09.24 |
---|