git을 이용해 github에 PR을 생성해보도록 하겠습니다.
저는 졸업 전시를 위해 팀 프로젝트를 진행하던 중 각자 개발한 기능에 대한 상세 내용을 서로 공유하기 위해 PR을 생성하게 되었습니다.
clone
한다.commit
한다.push
한다.merge
한다.pull
을 받아온 뒤 merge된 branch를 삭제한다.
❶ Repository <> Code
탭에서 Code 버튼을 클릭합니다.
❷ 주소를 복사해 줍니다.
❸ Terminal에 아래와 같은 Git 명령어를 입력합니다.
git clone https://github.com/ohcmadah/nooks.git
작업할 새로운 브랜치를 생성합니다.
명령어는 아래와 같습니다.
git switch -c <브랜치명> # git switch -c hadam/remove-use-animation
-c
옵션을 사용하면 branch 생성과 동시에 변경이 가능합니다.
기존에는 checkout
명령어를 통해 branch 이동 및 생성을 했었지만, 하나의 명령어가 가진 기능이 너무 많아 switch
, restore
명령어가 도입되었습니다.
코드를 변경한 뒤 commit을 해 줍니다.
❶ 먼저 변경 내용을 staging area(스테이징 영역)에 추가합니다.
git add <file> # git add .
git add .
으로 모든 파일을 staging area에 추가할 수 있습니다.
❷ 변경 사항을 설명하는 로그 메시지를 입력합니다.
git commit
위 사진과 같은 편집기가 나타났다면 i
를 눌러 편집 모드로 변경한 뒤 메시지를 입력하고 ESC
→ :wq
를 순서대로 입력합니다.
❶, ❷ 과정을 아래 명령어를 입력하여 한 번에 진행할 수도 있습니다.
git commit -am "메시지"
commit
까지 완료했다면 remote repository에 push
를 보내야 합니다.
git push <저장소명> <브랜치명> # git push origin hadam/remove-use-animation
원격 저장소 이름은 git remote -v
를 통해 확인할 수 있습니다.
일반적으로는 origin
을 사용합니다.
드디어 Pull Request를 생성할 차례입니다.
push 후 Github Repository에 접속해보면 자동으로 Pull Request 생성 버튼이 나오게 됩니다.
혹은 New pull request 버튼을 클릭해 생성할 수도 있습니다.
base branch에 코드를 반영하기 위해 merge를 합니다.
원하는 방법을 선택한 뒤 merge를 진행합니다.
로컬 저장소에도 변경 사항을 반영해 주어야 합니다.
원격 저장소에 변경 사항이 있는지 확인하고 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
추가로 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)