일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- char[]
- thymeleaf
- 자료형
- PR
- JAVA기초
- Leetcode
- 큐
- linux
- 서버중단
- Queue
- Java
- 자동완성
- string
- 명제
- 코딩테스트
- 통신대란
- springboot
- OVH
- 논리학
- github
- random
- Intellij
- AWS
- 백준
- 코테
- elasticbeanstalk
- LiveTemplate
- github cli
- 서버오류
- 데이터센터
- Today
- Total
Midnight Coder's Lounge
[Github] 커맨드라인에서 pull request 작성하기 본문
브랜치 작업을 마치고 IDE에서 곧바로 PR을 보내고 싶어서 CLI에서 PR을 보내는 방법을 알아보았습니다.
터미널에서 GitHub CLI(gh)를 사용하여 다음 커맨드를 통해 PR을 작성할 수 있습니다.
gh pr create --base BRANCH_A --head BRANCH_B --title "TITLE" --body "BODY"
gh가 설치되어 있지 않다면 아래 설치과정을 따라서 설치해 줍시다.
📍 설치
mac에서는 brew install 등을 이용해 커맨드라인으로 설치해 주면 됩니다.
brew install gh
window에서는 아래 공식 홈페이지에서 설치 파일(.msi)을 받아 설치합니다.
커맨드에서 gh를 입력하여 설치를 확인합니다.
(설치가 안 된 경우 컴퓨터를 재시작합니다.)
📍 사용자 인증
아래 커맨드를 입력해 Github CLI에 자신의 계정 정보로 로그인을 시작합니다.
gh auth login
로그인할 계정을 선택하게 됩니다.
Github.com 계정으로 로그인할 거니까 Github.com을 선택하겠습니다.
HTTPS/SSH 중에 원하는 프로토콜을 선택하여 Github와 통신합니다. 전 HTTPS를 사용하겠습니다.
credential을 통해 인증할 것인지 물어보면 Y를 입력합니다.
웹 브라우저를 통해 로그인하거나 인증 토큰을 사용할 수 있습니다.
여기서는 웹 브라우저를 통해 로그인하겠습니다.
인증에 사용할 코드가 터미널에 뜹니다.
엔터키를 누르면 Github 로그인 페이지로 연결됩니다.
로그인을 마치면 Device Activation 화면이 뜹니다.
괜히 Device라고 하니 모바일 인증이랑 헷갈릴 수 있는데,
아까 터미널에 떴던 코드를 입력해 주는 겁니다.
인증이 완료되면 아래와 같이 Github CLI에 로그인됩니다.
📍 PR 작성
이제 맨 처음에 소개했던 커맨드를 이용해서 PR을 작성해 봅시다.
gh pr create --base BRANCH_A --head BRANCH_B --title "TITLE" --body "BODY"
- --base에 해당하는 {BRANCH_A} 자리에는 변경 사항이 병합될 브랜치 이름을 적어 줍니다.
- --head에 해당하는 {BRANCH_B} 자리에는 변경 사항이 들어있는 브랜치 이름을 적어 줍니다.
- {TITLE} 자리에는 PR의 제목을 작성하고 따옴표로 감싸 줍니다.
- {BODY} 자리에는 PR의 본문 내용을 작성하고 따옴표로 감싸 줍니다.
예를 들어서 master 브랜치에 feat/login 브랜치를 병합하려면 다음과 같은 커맨드를 입력해 주는 겁니다.
gh pr create --base master --head feat/login
--title "로그인 기능 추가" --body "OAuth방식을 이용한 로그인 기능을 추가했습니다."
PR 요청이 완료되었고 이제 Github에서 요청을 검토하고 Merge할 수 있게 됩니다.
만일 PR을 검토할 담당자를 지정하고 싶다면 커맨드에 -a 또는 --assignee 옵션을 사용할 수 있습니다.
gh pr create -a "@octocat"
gh pr create --assignee "@octocat"
더 자세한 옵션이나, Github CLI를 이용한 PR에 관해 자세한 내용은 아래 공식 문서를 참고해 주세요.