DevOps/GIT

github#15 git pull request & git merge request 1편

aliceintr 2020. 11. 27. 12:21
반응형

이번 내용은 생활코딩의 강좌 중 하나인 Pull Request 부분에 대한 실습과 이론적 내용을 정리해 보았다.

 

Pull Request 란 기본적으로 코드품질을 높이기 위한 방법 중에 하나로 Code 를 Push 하기전에 Code Review를 하는 Request 를 보내는 것이라 할 수 있다.

공식 사이트의 정의를 찾아보자면,

 

 

Pull requests let you tell others about changes you've pushed to a branch in a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes are merged into the base branch.

 

Ref : docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests

당신은 협업을 하는 사람들과 함께 코드의 변화된 부분에 대해 리뷰하고 논의를 할 수 있고, 추가적인 commit을 base branch에 merge 하기 전에 추가할 수 있다.

 

 

보내기전에 한번 점검을 한다고 이해하면 쉬울 것 같다. 그림으로 도식화 하면 아래와 같다.

ref : https://docs.wpvip.com/technical-references/code-review/github-pr-reviews/

 

 

 

 

1. Pull Request 의 종류

  • Local Repository 작업자가 Remote Repository 에게 code review 를 부탁하는 Pull Request

ref : https://youtu.be/uvsz2XgRPfM

 

  • Open Source 작업의 경우 작업자가 Remote Repository 에 write 권한이 없어서(Read-only) 직접적으로 Pull Request 할 수 없다. 이럴때 원격저장소를 복제해서 (git fork cmd) code를 푸시한 다음,  Remote Repository 실제 권한자에게 코드 review 를 하는 Pull Request 를 하게 된다.

ref : https://youtu.be/uvsz2XgRPfM


2. 연습

먼저 이 실습을 하기 위해서는 2개의 github 계정이 필요할 것 같다. 왜냐하면 remote repository에 여러명의 collaborator 를 등록해야 되기때문이다.

 

github.com 접속 후 나의 작업 repository 로 간다.

오른쪽 상단의 setting 클릭

 

Manage Access 클릭 한 후 초록색 버튼 Invite a Collaborator 를 클릭한다.

Collaborator 의 username, email 로 검색을 한 후 선택한 후 아래 추가하기 버튼을 클릭

 

이제 collaborator의 승인이 나면, 같이 작업을 할 수 있게된다. 아직은 collaborator가 승인을 하지 않은 상태이다.

collaborator 가 나의 초대를 받아들여 주어서 이제 같이 작업을 할 수 있게 된다.

 

Visual Studio 를 오픈하고 git repository를 연동해준다

이미 local에 clone 을 한 상태라면 [Open Folder]를 클릭하고

새로 시작하는 프로젝트라면 [Clone Repository] 를 클릭하면 되겠다.

 

이제 브랜치와 commit의 변화과정을 도식화하여 보기 편하게 하기위해

비쥬얼 스튜디오 코드에 Extension을 설치해준다.

Task Bar → View → Extensions

 

그리고 git graph 를 서치한다음 설치하면된다.

 

이제 작업하고 있던 창으로 돌아와서 아래 초록색 네모 부분을 클릭해 주면 옆에 git graph 창이 떠있는 것을 확인할 수 있다.

이제 새로운 브랜치 feature 를 만들고 기존에 있던 text1.txt 파일을 수정한 후 push를 해보자.

push를 하면 명령어 줄 하단에 pull request url을 제공해 준다.

 

이제 github 으로 가보자.

pull request 가 feature branch로 부터 왔다고 알려준다.

"Compare & Pull Request" 를 클릭해보자. (브랜치 생성자만 볼 수 있음)

 

 

이제 pull request 양식을 작성하고  Reviewer도 등록해준다.

Create pull request 에는 2가지 방식이 있는데

"Create draft pull request" 는 테스트로 병합을 하는 것이기 때문에 실제 병합이 되진 않는다.

 

이제 Create Pull Request 를 클릭한다.

각각 commits , checks , file changed 에서는 변경된 사항에 대한 정보를 다 볼 수 있다.

 

파일 리뷰어로 지정된 사람은 아래와 같은 코드 리뷰 요청 이메일을 받게 된다.

 

코드 리뷰가 다 마쳤다면 이제 실제 merge를 해보도록 한다.

"Confirm merge" 를 클릭하면 끝

[현재 feature branch] 이제 나의 local working directory로 가서 git pull 을 해서 최신버전의 코드를 다운받는다.

위의 그래프에서 볼 수 있듯이 master 와 feature 브랜치가 병합된 것을 알 수있다.

 

이제 master branch도 확인해보자

master branch 로 체크아웃 한 후 git pull 을 하면 master 도 코드 병합이 업데이트 된 것을 확인 할 수 있다.

 

다음편에서 이어서 Pull request 에 대해 더 알아보자.

 

 

 

내용이 도움이 되셨다면 블로그 구독하기 부탁드리겠습니다.

* 이 글의 모든 저작권은 aliceintr에 있으며 무단 배포 및 사용은 자제해 주시기 바랍니다. *

반응형