본문 바로가기
[개발] Programming/Tools

깃에 풀 리퀘스트(Pull Request) 하는 방법 - 소스 트리(Source Tree) 사용

by eatyourKimchi 2020. 3. 7.

 

Git Pull Request

 깃으로 작업할 경우 새로운 수정 건을 반영할 때 보통 PR을 딴다고 표현한다. 이 의미는 pull request를 생성하여 반영을 요청하기 위함이다. 즉, 나의 수정된 소스를 깃허브에서 당겨가도록 요청하는 작업인 것이다.

 

각자 작업하는 방식을 조금 다를 수도 있지만, 이번 포스트에서는 소스를 이미 로컬로 받은(pull) 상태에서 PR를 요청하는 방법을 다루어본다. 작업은 깃 관리를 위한 툴인 소스 트리를 사용한다. 작업 순서는 아래와 같다.

 

  1. branch 생성

  2. 소스 수정 후 add, commit, push

  3. Pull Request 생성

  4. Merge Pull Reqest

 

 

1. branch 생성

 여러 개발자가 동시에 각자 작업을 하기 위해서 생성하는 것이 브랜치다. 즉 각자 독립적인 개발 소스를 가지고 작업을 하기 위함이다. 소스 트리 기준으로 브랜치를 생성하는 방법은 다음과 같다.

 

 

소스 트리 메뉴 상단에서 '브랜치' 선택

 새로운 브랜치 명을 입력한다. 그리고 create branch를 클릭하면 우측에 새로운 브랜치가 생성된다. 아래 이미지에서는 새로운 브랜치 명을 Chatbot으로 하였기 때문에 우측 BRANCHES 아래 Chatbot이 생성되어 있는 상태다.

 

 

 

기존에 깃허브에 올라가 있는 소스를 Fork 하여 로컬에 복사본을 받아두었다는 전재하에 작업은 진행되었으며, 최초에 생성한 브랜치 명은 develop이고 신규로 생성한 브랜치 명은 Chatbot. 우측 메뉴를 보면 동그라미가 Chatbot 브랜치 옆에 있는데, 이는 작업할 브랜치를 Chatbot으로 지정했다는 의미이다.

 

새로운 브랜치를 지정하는 방법은, 브랜치 명을 더블 클릭하면 된다. 그럼 해당 브랜치 옆에 동그라미가 생기며, 만약 이클립스와 깃 소스가 동기화 상태라면 이클립스 프로젝트 명 우측에도 기존에는 develop 이었는데, Chatbot으로 바뀌어 있는 모습을 볼 수 있다.

 

 

2. 소스 수정 후 ADD, COMMIT, PUSH

 소스 작업을 진행하고 나면 ADD, COMMIT, PUSH 작업을 수행해야 한다. 이클립스를 사용할 경우 프로젝트 우클릭하면 워크스페이스 동기화 메뉴가 나타난다. 클릭하면 SVN과 동일하게 수정된 파일 목록과 ADD, COMMIT, PUSH 할 수 있는 창이 나타난다.

 

참고로 소스를 수정하기 전에는 PULL을 하여 최신 소스를 로털로 받아두는 것이 좋다. 특히 작업자가 많을 경우 나중에 MERGE 하기가.. 은근히 귀찮다ㅎㅎ

 

 

 

이제 수정된 소를 ADD 할 차례. 왼쪽에 나오는 소스 중에 추가할 소스를 선택해서 초록색 +를 눌러준다. 콘솔로 작업하는 분들은 이 포스트 맨 아래 링크 참고하세요~ 

 

ADD를 하였으면 커밋하기 전에 우측 칸에 커밋 메시지를 입력한다. 입력을 완료하였으면 우측 하단에 Commit and Push를 클릭한다. 완료되면 해당 소스는 브랜치로 올라간다.

 

 

3. Pull Request 생성

 소스가 브랜치로 올라갔으므로 이제 PR을 할 차례이다. PR을 요청하면 이제 메인 소스로 해당 소스를 올릴 수 있게 된다.

 

만약 브랜치 구성이 '마스터 - 개발 - 챗봇' 형태라고 가정하면 지금 챗봇 브랜치로 소스를 커밋한 것이고, 챗봇 브랜치에 커밋한 소스를 개발 브랜치에 올리기 위한 요청을 하는 단계인 것이다. (마스터는 보통 운영 소스이기 때문에 따로 '개발' 단계를 두는 경우가 많다.)

 

- 소스 트리 PR 메뉴 경로 -

 

PR은 깃허브 홈페이지에서 하는데, 소스 트리에서 브랜치 우클릭 후 메뉴에서 'Create Pull Request'를 선택하더라고 결국 깃허브 홈페이지로 연결된다. 홈페이지는 아래와 같은 화면인데, 여기서 초록색 버튼, 'New pull request'를 선택한다.

 

탭 중에 왼쪽 첫 번째로 들어가도 PR 버튼이 있으므로 어디서 생성하던지 상관없다. 

 

 

 

클릭하면 뜨는 화면에서 왼쪽은 개발 브랜치 오른쪽은 작업을 진행한 챗봇 브랜치를 선택한다. 그러면 아래 초록색 버튼이 활성화되는데, 클릭해주면 PR이 생성된다.

 

생성할 때는 해당 PR의 설명을 입력할 수 있는 'write'이 있다. 수정할 수 있으니 대충 써도 무관.

 

 

PR이 생성되면 지금까지 커밋한 내역과 소스도 볼 수 있다. 게다가 코멘트도 입력할 수 있어 피드백을 주기도 정말 편리하다.

 

 

 

4. Merge Pull Reqest

 PR, 즉 당겨가도록 요청을 하였으니 이제 관리자는 해당 내용을 확인하고 수락하면 소스는 반영된다. 만약 충돌하는 소스가 있다면 MERGE를 수행하게 된다.

 

 

 

참고하기 좋은 자료

 

- 콘솔로 깃에 브랜치와 PR 작업하는 방법 > 링크

 

 

 

댓글