이번 내용은 생활코딩의 강좌 중 하나인 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 하기 전에 추가할 수 있다.
보내기전에 한번 점검을 한다고 이해하면 쉬울 것 같다. 그림으로 도식화 하면 아래와 같다.
1. Pull Request 의 종류
- Local Repository 작업자가 Remote Repository 에게 code review 를 부탁하는 Pull Request
- Open Source 작업의 경우 작업자가 Remote Repository 에 write 권한이 없어서(Read-only) 직접적으로 Pull Request 할 수 없다. 이럴때 원격저장소를 복제해서 (git fork cmd) code를 푸시한 다음, Remote Repository 실제 권한자에게 코드 review 를 하는 Pull Request 를 하게 된다.
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에 있으며 무단 배포 및 사용은 자제해 주시기 바랍니다. *
'DevOps > GIT' 카테고리의 다른 글
github#17 git pull request 충돌 & web editor 해결 (0) | 2020.11.27 |
---|---|
github#16 git pull request & git merge request 2편 (0) | 2020.11.27 |
github#14 git project 잘 관리하기 (0) | 2020.11.26 |
github#13 git rebase 충돌해결 (0) | 2020.11.26 |
github#12 git rebase 기초 (0) | 2020.11.26 |