본문 바로가기
컴퓨터학부 3학년/후반기 학습 포스팅

깃허브(github) 사용법 - 브랜치, PR(Pull Request)

by infra_kim 2019. 6. 27.

브랜치 :
개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고 나서 원래 코드와 상관없이 독립적 개발 진행을 할 수 있게 하는 것을 브랜치라고 한다.

1. 브랜치 사용법
 1) 브랜치 조회 : git branch
  => *이 붙어있는 brnach가 HEAD가 가리키는 브랜치

 2) 브랜치 만들기
  => git branch

  => git checkout -b <branchname>
  ex) git branch issue1 : issue1이라는 이름으로 브랜치 만듦

  ex) git checkout -b issue1 : issue1 브랜치 생성 후 HEAD가 issue1을 가리키게 함 

 3) 브랜치 전환
  => 어떤 작업 수행 시 이 브랜치를 사용하겠다고 명시적으로 지정해야 함
  => git checkout <branchname>
  ex) git checkout issue1

 3) 브랜치 병합
  => 병합할 커밋 이름을 넣어서 실행하면 지정한 커밋 내용이 'HEAD'가 
     가리키고 있는 브랜치에 넣어짐
  => git merge 
  ex) git merge issue1 : master 브랜치가 가리키는 커밋이 issue1과 같은 위치로 이동하여 병합

 4) 브랜치 삭제
  => git branch -d <branchname>
  ex) git branch -d issue1 : issue1 브랜치 삭제

 

[git branch에 push하는 과정 예시]
git checkout -b issue1
git add --all
git commit -m "moving file to review branch"
git push origin issue1

 

 

2. Pull Request

 => 협업을 하다보면 자주 사용하게 되는 기능 중 하나

 => 자신이 작성한 코드를 원본 저장소를 관리하는 담당자에게 PR을 요청하고 담당자가 이를 수락하면 원본 저장소에

      merge하는 방식

 => push 권한이 없는 프로젝트에 자신이 짠 코드를 기여하고 싶을 때

 

 1) Pull Request 생성

  => push 완료 후 github 저장소로 가서 branch를 설정하기

 

=> compare & pull request 버튼이 활성화되어 있음

=> 해당 버튼을 클릭하여 메시지 작성 후 PR 작성

 

 2) 코드 리뷰

  => PR을 받은 원본 저장소 담당자는 코드 변경 내역 확인하고 merge할지 판단

 

 3) 원본 저장소에 merge

  => 원본 저장소에 merge가 완료되면 로컬 코드와 원본 저장소의 코드를 동기화