09. Github 에서 Branch 활용하기 (Pull Request)

지구·2023년 7월 17일
0

Git, Github 정리

목록 보기
11/19

1. pull request 의 개념과 목적

Pull Request: Github에서 제공하는 기능으로, 기존 Github저장소에 보관된 코드 베이스에서 나의 작업으로 생긴 변경사항들(수정, 추가, 삭제)을 코드베이스에 포함시켜달라고(merge 시켜달라고) 보내는 요청

Pull Request 를 하는 이유

  1. 내가 작성한 코드가 바로 merge 될 경우 발생할 수 있는 문제를 미리 방지
  2. 현재 코드에 대한 코드 리뷰를 진행
  3. 프로젝트에 대한 진행 상황을 관리

2. pull request 하는 법

기본이 되는 브랜치가 아닌 수정 사항이 생긴 브랜치에 push를 하게되면 위와 같이 레포지포리 상단에 'Compare & pull request'가 생긴다.
'Compare & pull request' 클릭한다.


위처럼 나오는데 제목에는 자신이 추가한 내용을 커밋메세지와 비슷하게 정해놓은 양식으로 입력해주면 된다.

  • 현재 PR 요약/개요
  • 코드 변경 이유 (작성 이유)
  • 관련 스크린샷
  • 테스트 내용
  • 리뷰 관련 요청사항

아래 칸 내용에는 보통 위와 같은 내용으로 작성하기도 한다.

3. pull request 에서 코드 리뷰 작성 후 병합하기

위에 화면 오른쪽 상단에 files changed 버튼을 누르면 어떤 것들이 바뀐지 확인할 수 있다.
그 수정 사항에 대해 코멘트를 작성할 수 있다.

그리고 전체적인 리뷰 코멘트를 남기면서,
만약 바꿀 것이 없다면 approve(승인)을 체크하고,
바꿀 것이 있어 보인다면 request changes(수정 요청)를 체크하고
submit review를 하면 된다.

🎈 만약 brach 보호 기능을 사용하지 않는다면 꼭 위 과정을 하지 않고 머지를 할 수 있다. (개인 프로젝트 같은 작은 프로젝트에서)

그리고 리뷰가 문제 없이 끝났다면 사진 왼쪽 하단에 있는 merge pull request 버튼을 눌러서 merge를 진행하면 된다.

마지막으로 커밋 메세지를 적을 수 있는 창이 표시되고, 입력을 다하면 confirm merge 버튼 누른다.

추가로 pull request 후에 브랜치를 더 사용할 일이 없다면 브랜치를 삭제해준다.

4. pull request 완료 후 로컬에 반영하기 (git fetch —prune)

원격에서 이루어진 pull request 작업을 로컬 코드에 적용하기

git pull origin [main]

이제 로컬 main 브랜치와 github main 브랜치가 동일해졌다.

또한, 로컬 git은 github에서 삭제된 브랜치의 상황에 대해서 알지 못한다.

git fetch --prune

위 명령어를 입력하여, 우리 로컬 git이 github(원격, 온라인)상에서 브랜치가 삭제되었음을 알게된다.
그리고 로컬에서 삭제된 브랜치를 삭제해준다.

profile
프론트엔트 개발자입니다 🧑‍💻

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

정말 좋은 정보 감사합니다!

답글 달기