Table of Contents

Python

[Git] branch 보호설정

꼬꼬마코더 2024. 8. 29. 11:34
728x90

reference: https://velog.io/@gmlstjq123/Branch-%EB%B3%B4%ED%98%B8-%EA%B7%9C%EC%B9%99-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

이전 포스팅에서 Branch 보호 규칙에 대한 간단한 개념을 소개했는데요. 이번 시간에는 어떻게 보호 규칙을 설정하는지를 알아보겠습니다. 더불어 보호되고 있는 브랜치의 코드를 수정하려면, 관리자에게 Pull Request를 보내 수정을 요청해야 하는데요. 이 방법에 대해서도 알아보겠습니다.

1. 브랜치 보호 규칙 설정

① 팀원들과 공유하고 있는 public Repository에 들어간다.

② Settings를 클릭한다.

③ 좌측 메뉴의 Branches를 클릭한다.

④ Add rule을 클릭한다.

⑤ 필요한 보호 규칙을 적용한다.

  • Require a pull request before merging
    • 메인 브랜치에 적용될 커밋들은 반드시 보호되지 않는 브랜치로 일단 커밋한 뒤에, PR을 통해 리뷰를 거친 후 병합되도록 설정한다.
    • Require approvals는 몇 명의 동료가 리뷰 승인을 해줘야할지 설정한다.
    • Dismiss stale pull request approvals when new commits are pushed는 리뷰 승인 이후 새로운 코드가 추가로 들어왔을 때, 기존 리뷰 승인을 무효화할 것인지 설정한다.
    • Require review frome Code Owners는 코드의 소유자에게 PR을 받아야하는지를 설정한다.
  • Do not allow bypassing the above settings는 브랜치 보호 설정을 우회할 수 있는 권한을 가진 사용자에게도 위의 규칙을 적용하여 브랜치 보호 설정을 우회할 수 없게 만든다.

⑥ main 브랜치를 이용해 push할 경우 rejected되는 것을 확인할 수 있다.

2. Pull Request 만들기

1) fork

① 팀장의 Repository에 접속한 후 Fork 버튼을 누른다.

② Create a fork를 누른다.

③ 자신의 Repository에서 fork로 생성된 새로운 저장소를 확인할 수 있다.

2) Clone, Remote

① fork로 생성한 본인의 Repository에서 Code 버튼을 눌러 HTTPS 주소를 복사한다.

② 이전 포스팅에서 설명한 바와 동일하게 본인의 인텔리제이에서 File > New > Project from Version Control로 열어준다.

③ 코드를 수정한다.

④ commit을 실행한 후 본인의 Repositroy로 수정한 코드를 push한다. (가끔 push 하는 브랜치의 이름이 main으로 되어 있어 push가 안될 수도 있는데, 이 때는 다른 이름으로 바꿔주면 된다.)

⑤ fork된 Repository에서 아래와 같이 파란색 글씨로 적힌 1 commit ahead를 클릭한다.

⑥ Create pull request를 클릭한다.

⑦ 원하는 메시지를 입력한 후 Create pull request를 클릭한다.

⑧ pull request 생성이 완료되면 우측에 Reviewrs라는 창이 보이는데, 톱니바퀴 버튼을 눌러 팀장을 reviewer로 설정한다.

⑨ 팀장은 본인의 Repository의 Pull request 버튼을 클릭해 pull request를 확인할 수 있다. 코드 변경 내용을 확인하고 Merge 여부를 결정한다.

⑩ 변경 사항이 적용되면, 최근 코드를 pull하여 동기화를 진행한 후 협업을 이어간다.