블로그
2023년 4월 24일

Pull Request 요청하기

Jetbrain IDE를 사용하여 Pull Request 하는 방법에 대해 알아보자
pull-request
IDE에서 다양한 브랜치로 작성된 git commit 로그를 보여주는 사진

다른 사람과 협업하여 코드를 작성하고 하나의 소스를 관리하기 위해 우리는 Github을 사용한다. Pull Reuqest를 하면 Github에서는 기존 브랜치에서 변경된 내용을 확인할 수 있다. 새로운 동료가 github 레포지토리에서 소스를 내려받아서 수정 후 Pull Reuqest를 하는 과정을 Jetbrain IDE 중 하나인 WebStorm 으로 진행해보자.

Github에서 Pull Request를 하는 도구로는 Github.com, Github Desktop, Github CLI, IDE(Jetbrain, VS Code), 등 다양하다.

프로젝트 체크아웃 하기(clone)

프로젝트를 로컬 환경에서 작업을 하기 위해서는 우선 소스를 내려 받아서 로컬에서 동작할 수 있도록 세팅을 해야 한다.

  1. 메인 메뉴에서 Git | 복제... 를 선택
  2. 왼쪽 메뉴에서 Github 을 선택
  3. 로그인이 되어 있지 않다면 Github 로그인 진행
  4. 원하는 프로젝트를 선택
  5. 경로 필드에서 원하는 디렉토리 위치 선택
  6. 복제 버튼 선택
clone source code
Jetbrain IDE에서 Github 프로젝트를 복제하는 방법

브랜치 만들기

로컬 환경에서 복제한 프로젝트로 소스를 수정해보자. 우선 수정을 진행하기에 앞서 새로운 브랜치를 생성해줘야 한다. 브랜치는 새로운 기능을 개발할 때 메인 개발 라인에서 갈라져 나와서 작업을 할 수 있게 해주는 강력한 메커니즘이다.

메인 메뉴에서 Git | 새 브랜치... 또는 왼쪽 하단의 Git 아이콘을 선택 후 버튼으로 새로운 브랜치 생성(eg. feature)

아래 사진과 같이 브랜치 체크아웃을 선택 하였으면 현재 작업 브랜치가 feature으로 변경되어 있을 것이다.

branch name setting
Jetbrain IDE에서 새로운 브랜치를 생성하는 방법

소스 수정하기(커밋)

자 이제 새로운 브랜치를 만들었으니 소스를 커밋해보자.

왼쪽 상단의 메뉴에서 커밋 아이콘을 선택하고 변경사항에 대한 메시지를 작성 후 커밋 버튼을 누른다.

commit sample1
Jetbrain IDE에서 커밋하는 방법
commit sample2
Jetbrain IDE에서 커밋메시지를 작성하고 커밋을 한다.

Pull Request 요청하기

이제 새로운 브랜치에 커밋이 쌓였으므로 Pull Request를 생성해보자.

메인 메뉴에서 Git | Github | 풀 리퀘스트 생성... 또는 왼쪽 메뉴에서 풀 리퀘스트 아이콘 선택 후 버튼으로 풀 리퀘스트를 생성한다.

pull request
Jetbrain IDE에서 Pull Request를 생성하는 방법

리뷰어: 승인하기

풀 리퀘스트를 하면 리뷰어가 변경사항을 확인하고 덧글을 달거나 수정을 요청하는 피드백 루프를 거친다. 확인이 완료된 내용은 승인을 하면 된다.

approve
Github에서 Pull Request가 생성된것을 확인하고 변경사항을 검토한다.

리뷰어: 병합하기

확인된 코드를 이제 다시 main 브랜치로 합치기 위해서는 merge를 해야한다. main 브랜치와 충돌이 나지 않는다면 아래 그림과 같이 merge pull request 버튼이 보이고 버튼을 눌러주면 된다.

merge
Github에서 Pull Request가 승인되면 병합을 진행한다.

병합된 결과 내려 받기

내가 요청한 풀 리퀘스트가 main 브랜치로 병합이 완료되면 내 로컬 환경으로 변경사항을 내려 받아야 한다.

  1. main 브랜치로 checkout 하기(git checkout main)
  2. 원격 저장소에서 내려받기(git pull origin main)
  3. 풀 리퀘스트에 사용한 브랜치 삭제하기(git branch -D feature)

만약 feature 브랜치에서 추가적으로 작업하고 있는 내용이 있고 그것을 보관하고 싶은 경우 commit을 하거나 stash를 통해 임시 저장해야 한다.

결론

Pull Request를 하는 방법은 여러가지가 있지만 내가 사용하고 있는 IDE를 떠나지 않고 바로 작업하면 작은 편리함을 얻을 수 있다. 이 글에서는 WebStorm을 이용하였고 VS code와 같은 툴도 지원을 하니 자신이 사용하는 IDE 별로 사용법을 익히면 된다.

참고자료

사진: UnsplashYancy Min