목차
1. 깃허브 풀리퀘스트
앞선 글에서 브랜치를 쓰는 이유를 설명한 적 있었다. 브랜치를 쓰면 프로젝트의 팀원들이 동시에, 병렬적으로 개발 작업을 할 수 있다. 팀원들이 각자 자신의 브랜치를 만들어서 작업한 뒤, 나중에 병합(merge)하면 되기 때문이다.
하지만 이런 상황을 생각해보자.
프로젝트 관리자 A가 있고 부하 직원 B가 있다. 부하 직원 B는 A의 오더에 따라 개발 작업을 완료했다. 이제 B의 브랜치를 A의 브랜치에 병합해야 한다.
그런데 B가 아무런 컨펌없이 A의 브랜치에 함부로 병합(merge)이나 푸쉬(push)를 하기가 부담스럽다. 관리자의 브랜치를 함부로 건드렸다가 잘못 되면 큰일나니깐.
이럴 때 쓸 수 있는 것이 풀리퀘스트(Pull Request)다. 줄여서 PR이라고도 부른다. 풀리퀘스트를 하면 풀리퀘스트를 받는 사람이 승인해야 파일을 병합할 수 있다. 일종의 승인 과정이 생기는 셈이다.
“제가 이런 내용 개발했습니다! 확인하시고 괜찮으시면 병합(Merge)해 주세요.”
정도의 의미를 주는 것이 풀리퀘스트(Pull Request)다.
2. 깃허브 풀리퀘스트 사용 조건
풀리퀘스트를 쓰기 전에 필요한 조건이 있다. 아래 조건이 충족되지 않으면 풀리퀘스트 작업을 해도 에러가 뜬다.
- 내가 작업하는 원격 저장소와 이를 복제한 로컬 저장소, 브랜치가 있어야 함. (너무 당연한 내용)
- 요청을 보내는 브랜치 내에서 수정한 작업 내용이 있어야 함.
- 로컬 저장소에서 작업한 내용을 커밋 후 원격 저장소에 푸쉬(Push)까지 해야 함.
3. 깃허브 풀리퀘스트 사용법
3.1 깃허브 풀리퀘스트 보내기
먼저 내가 작업할 로컬 저장소의 폴더로 이동한다. 이 폴더에서 빈공간에 대고 마우스를 우클릭한다. 아래 경로대로 클릭한다.
‘추가 옵션 표시’ – ‘Open git bash here’

‘git checkout <브랜치명>’를 입력하여 내가 작업할 브랜치로 이동한다. 예를 들어 내가 작업할 브랜치 이름이 강아지라면 아래처럼 입력한다.
git checkout 강아지
이제 로컬 저장소 안에 있는 파일을 열고 작업한다. 이 작업은 git bash에서 하는 작업이 아니다. 그냥 VScode든 Jupiter든 자신이 쓰는 에디터를 열고 작업하면 된다. 나는 VScode에서 ‘멍멍’ 이라는 명령어를 입력해 보았다.

작업이 끝났으면 ‘컨트롤+S’ 눌러 작업을 저장한다.
이제 아래 명령어를 git bash에 입력해 커밋 작업을 완료한다. 일반적인 커밋 작업과 같은 순서다.
git add 파일명
git commit -m"코멘트"
아래 명령어를 입력하여 깃허브 원격 저장소에 Push 작업까지 완료한다.
git push origin <브랜치명>
이제 깃허브의 원격 저장소로 이동한다. 아래 사진에 있는 branch 버튼을 누른다. 그러면 Active branch란에 New Pull request라는 버튼이 나와있는 것을 볼 수 있다. 이 버튼을 눌러주자.

여기서 필요한 코멘트를 적고 Create Pull Request를 누르면 요청이 완료된다.

3.2 깃허브 풀리퀘스트 받기
위 작업을 통해 우리는 Pull Request를 보냈다. 관리자 입장에서는 이렇게 보내진 풀리퀘스트를 이제 받아야 한다. 지금부터 그 방법을 소개한다.
우선 풀리퀘스트를 수행하면, 깃허브 저장소 상단의 Pull Request 칸에 ‘1’이라고 뜬다. 여기로 들어간다. 그러면 팀원이 풀리퀘스트를 요청한 항목이 나온다. 이것을 클릭한다.

여기로 들어가면 아래와 같은 이미지가 나온다. 각 칸의 의미를 하나씩 설명한다.

- 팀원들이 적은 코멘트를 볼 수 있다.
- 실제 파일의 수정 사항을 볼 수 있다.
- 프로젝트 내 규칙을 추가할 수 있다.
- Pull request를 승인하여 Merge할 수 있다.
이때 2번 내용이 중요하다. 팀원이 어떤 내용을 작업했는지 알아야 승인을 할 수 있지 않겠는가?
파일을 타고 들어가면 아래 사진과 같이 사라진 내용은 ‘-‘기호와 함께 빨간 음영, 추가된 내용은 ‘+’기호와 함께 초록 음영이 뜬다. 테마에 따라 음영 색깔은 조금 달라질 수 있다.

이렇게 변경 내용을 확인하면 Merge 버튼을 누른다. 그러면 필요한 코멘트를 추가하는 창이 뜬다. 여기서 필요한 코멘트를 입력하고 Confirm을 누르면 Merge가 완료된다.
4. 더 쉽게 풀리퀘스트 하는 법
위에서는 git bash로 직접 명령어를 입력하는 방법을 다뤘다. 하지만 깃허브 데스크탑이나 깃크라켄 같은 깃허브 GUI 툴을 쓰면 클릭 몇 번으로 쉽게 풀리퀘스트를 할 수 있다. 링크를 타고 들어가면 각 프로그램의 사용법을 설명한 글이 나온다.
이 글에서는 깃허브 데스크탑을 기준으로 Pull request 방법을 간단하게 설명하겠다. 물론 다른 GUI 툴들도 대부분 비슷한 경로를 따라가면 된다.
우선 여기서도 마찬가지로 아래 단계를 거쳐야 한다. 각 단계의 상세한 방법은 깃허브 데스크탑 사용법 링크를 참조하면 된다.
- 깃허브에서 저장소와 브랜치를 깃허브 데스크탑에 가져오기
- 해당 저장소 및 브랜치에서 작업 및 커밋
- 원격 저장소에 푸쉬
여기까지 완료했으면 이제 Pull request를 해야한다. 화면 상단의 Branch를 클릭한 후, Create Pull request를 클릭한다.

그러면 위에서 본 것처럼 풀리퀘스트와 관련된 코멘트를 적을 수 있는 공간이 나온다.
이 후의 과정은 위에서 설명한 것과 같다.
잘 보고 갑니다유