[GitHub] Pull Request

Hadam Cho·2021년 6월 7일
0

Tools

목록 보기
1/2
post-thumbnail

git을 이용해 github에 PR을 생성해보도록 하겠습니다.

저는 졸업 전시를 위해 팀 프로젝트를 진행하던 중 각자 개발한 기능에 대한 상세 내용을 서로 공유하기 위해 PR을 생성하게 되었습니다.


과정

  1. repository를 로컬에 clone 한다.
  2. 새로운 branch를 생성한다.
  3. 코드 변경 후 commit한다.
  4. origin에 변경사항을 push한다.
  5. github에서 pull request를 생성한다.
  6. pull request를 승인해 master에 merge 한다.
  7. 로컬에서 pull을 받아온 뒤 merge된 branch를 삭제한다.

❶ Clone


❶ Repository <> Code 탭에서 Code 버튼을 클릭합니다.
❷ 주소를 복사해 줍니다.
❸ Terminal에 아래와 같은 Git 명령어를 입력합니다.

git clone https://github.com/ohcmadah/nooks.git

❷ Branch

작업할 새로운 브랜치를 생성합니다.
명령어는 아래와 같습니다.

git switch -c <브랜치명>	# git switch -c hadam/remove-use-animation

-c 옵션을 사용하면 branch 생성과 동시에 변경이 가능합니다.

기존에는 checkout 명령어를 통해 branch 이동 및 생성을 했었지만, 하나의 명령어가 가진 기능이 너무 많아 switch, restore 명령어가 도입되었습니다.

❸ Commit

코드를 변경한 뒤 commit을 해 줍니다.

❶ 먼저 변경 내용을 staging area(스테이징 영역)에 추가합니다.

git add <file>	# git add .

git add .으로 모든 파일을 staging area에 추가할 수 있습니다.

❷ 변경 사항을 설명하는 로그 메시지를 입력합니다.

git commit

위 사진과 같은 편집기가 나타났다면 i를 눌러 편집 모드로 변경한 뒤 메시지를 입력하고 ESC:wq를 순서대로 입력합니다.

❶, ❷ 과정을 아래 명령어를 입력하여 한 번에 진행할 수도 있습니다.

git commit -am "메시지"

❹ Push

commit까지 완료했다면 remote repository에 push를 보내야 합니다.

git push <저장소명> <브랜치명>	# git push origin hadam/remove-use-animation

원격 저장소 이름은 git remote -v를 통해 확인할 수 있습니다.
일반적으로는 origin을 사용합니다.

❺ Pull Request

드디어 Pull Request를 생성할 차례입니다.
push 후 Github Repository에 접속해보면 자동으로 Pull Request 생성 버튼이 나오게 됩니다.

혹은 New pull request 버튼을 클릭해 생성할 수도 있습니다.

❻ Merge

base branch에 코드를 반영하기 위해 merge를 합니다.

원하는 방법을 선택한 뒤 merge를 진행합니다.

❼ Pull

로컬 저장소에도 변경 사항을 반영해 주어야 합니다.
원격 저장소에 변경 사항이 있는지 확인하고 base branch로 변경합니다.

git fetch
git switch <브랜치명>	# git switch master

pull을 통해 동기화 해주겠습니다.

git pull <저장소명> <브랜치명>	# git pull origin master

merge된 브랜치는 삭제해 줍니다.

git branch -D <브랜치명>	# git branch -D hadam/remove-use-animation

Pull Request Template

추가로 PR Template을 만들어둘 수 있습니다.

❶ 본래의 Repository에서 .github 폴더를 생성해 줍니다.

mkdir .github

❷ .github 폴더에 PULL_REQUEST_TEMPLATE.md를 만듭니다.

cd .github
vi PULL_REQUEST_TEMPLATE.md

❸ 마크다운 형식으로 템플릿을 작성합니다.

### 작업 개요
<!--
  ex) 고양이가 야옹 소리를 내도록 수정
-->
### Jira
<!--
  ex) BAEMIN-1004
-->
### 작업 분류
- [ ] 버그 수정
- [ ] 신규 기능
- [ ] 프로젝트 구조 변경
<!--
  - [ ] 버그 수정
  - [x] 신규 기능
  - [ ] 프로젝트 구조 변경
-->
### 작업 상세 내용
<!--
  ex) 
  1. 네 발 짐승 클래스에 `크앙` 함수 추가
  2. 고양이 클래스에서 `크앙` 함수에 `미야아옹.wav` 재생시킴
-->
### 생각해볼 문제
<!--
  ex) 
  1. wav 파일을 매번 입력하기 귀찮겠다.
-->

코드리뷰가 쏘아올린 작은공 - 머지 템플릿 작성

저장 후 push 해주면 PR을 생성할 때 템플릿이 적용되는 것을 확인할 수 있습니다.


장점

  • 기능 별로 작업을 나누게 된다.
  • 기능에 대한 상세 내용을 적어둘 수 있어 팀원들과의 소통이 편해진다.
  • 코드 리뷰가 가능하다.

참고
git 초보를 위한 풀리퀘스트(pull request) 방법
[GitHub] PR 템플릿, 이슈 템플릿 등록하기 (Pull Request Template, Issue Template)

profile
(。・∀・)ノ゙

0개의 댓글