GitHub CLI를 사용하여 풀 리퀘스트(PR)를 보내는 방법에 대해 상세히 설명하겠다. GitHub CLI는 터미널에서 직접 GitHub 작업을 수행할 수 있게 해주는 도구로, GUI 인터페이스를 거치지 않고도 효율적으로 작업할 수 있다.
1. GitHub CLI 소개
GitHub CLI(gh
)는 GitHub의 공식 명령줄 도구로, 터미널에서 GitHub의 대부분 기능을 사용할 수 있게 해 준다. 이 도구의 주요 이점은 다음과 같다:
- 효율성: 마우스를 사용하지 않고 키보드만으로 GitHub 작업을 수행할 수 있다.
- 자동화: 스크립트에 GitHub 작업을 통합할 수 있다.
- 일관성: 모든 플랫폼에서 동일한 명령어를 사용할 수 있다.
2. GitHub CLI 설치
GitHub CLI의 설치 방법은 운영 체제에 따라 다르다. 주요 플랫폼별 설치 방법은 다음과 같다.
Ubuntu/Debian
|
|
macOS
|
|
Windows
Windows 사용자는 GitHub CLI의 설치 페이지에서 설치 프로그램을 다운로드하여 설치할 수 있다.
설치가 완료되면 버전을 확인하여 설치가 제대로 되었는지 확인할 수 있다:
|
|
3. GitHub CLI 인증
GitHub CLI를 사용하기 전에 GitHub 계정으로 인증해야 한다. 다음 명령어로 인증 프로세스를 시작할 수 있다:
|
|
브라우저를 통한 인증을 선택하면, 브라우저 창이 열리고 GitHub 로그인을 요청한다. 로그인 후 CLI로 돌아와 인증이 완료된다.
인증이 성공적으로 완료되었는지 확인하려면:
|
|
이 명령어는 현재 인증 상태와 연결된 계정 정보를 보여준다.
4. 로컬 저장소 준비
PR을 생성하기 전에 로컬 저장소를 준비해야 한다. 다음 단계를 따라야 한다:
작업할 저장소로 이동:
1
cd path/to/your/repository
최신 변경 사항을 가져오기:
1 2
git fetch origin git pull origin main # 또는 해당하는 기본 브랜치 이름
새 브랜치 생성 및 전환:
1
git checkout -b feature/new-feature
변경 사항 만들기: 필요한 변경 사항을 코드에 적용한다.
변경 사항을 스테이징하고 커밋하기:
1 2
git add . git commit -m "feat: add new feature"
원격 저장소에 새 브랜치 푸시하기:
1
git push -u origin feature/new-feature
5. PR 생성
이제 PR을 생성할 준비가 되었다. GitHub CLI를 사용하여 PR을 생성하는 방법은 다음과 같다:
|
|
이 명령어를 실행하면 대화형 프롬프트가 나타나며 다음 정보를 입력해야 한다:
- PR의 제목
- PR의 본문 (설명)
- PR을 보낼 대상 브랜치 (일반적으로
main
또는master
)
또는 명령줄 옵션을 사용하여 이 정보를 직접 제공할 수도 있다:
|
|
주요 옵션:
--title
,-t
: PR의 제목--body
,-b
: PR의 본문--base
: PR을 병합할 대상 브랜치--draft
: 초안 PR으로 생성--assignee
,-a
: PR에 할당할 사용자--label
,-l
: PR에 추가할 레이블--milestone
,-m
: PR과 연결할 마일스톤
예를 들어, 초안 PR을 생성하고 자신을 할당하려면:
|
|
6. PR 관리
PR을 생성한 후에도 GitHub CLI를 사용하여 다양한 관리 작업을 수행할 수 있다.
PR 목록 보기
현재 저장소의 열린 PR 목록을 보려면:
|
|
다양한 필터 옵션을 사용할 수 있다:
|
|
이는 자신에게 할당된, ‘bug’ 레이블이 붙은 모든 상태(열림/닫힘)의 PR을 보여준다.
PR 세부 정보 보기
특정 PR의 세부 정보를 보려면:
|
|
현재 브랜치의 PR을 보려면:
|
|
PR 체크아웃
리뷰를 위해 특정 PR을 로컬로 체크아웃하려면:
|
|
PR 리뷰어 지정
PR에 리뷰어를 지정하는 것은 코드 리뷰 프로세스의 중요한 부분이다. GitHub CLI를 사용하여 리뷰어를 쉽게 지정할 수 있다:
|
|
여러 리뷰어를 한 번에 지정할 수 있으며, 쉼표로 구분한다. 팀을 리뷰어로 지정하려면 팀 이름 앞에 조직 이름을 붙인다:
|
|
현재 작업 중인 브랜치의 PR에 리뷰어를 추가하려면 PR 번호를 생략할 수 있다:
|
|
PR 리뷰 수행
리뷰어로 지정되면 GitHub CLI를 사용하여 PR을 리뷰할 수 있다. 리뷰 과정은 다음과 같다:
PR 내용 확인:
1
gh pr view <PR-number>
변경 사항 검토:
1
gh pr diff <PR-number>
리뷰 제출:
1
gh pr review <PR-number>
이 명령을 실행하면 리뷰 내용을 입력할 수 있는 텍스트 편집기가 열린다.
리뷰 시 다양한 옵션을 사용할 수 있다:
승인:
1
gh pr review <PR-number> --approve -b "변경 사항을 검토했으며 승인합니다."
변경 요청:
1
gh pr review <PR-number> --request-changes -b "다음 부분을 수정해 주세요: ..."
코멘트만 남기기:
1
gh pr review <PR-number> --comment -b "몇 가지 제안사항이 있습니다: ..."
PR 승인 및 병합
리뷰 과정이 완료되고 모든 요구 사항이 충족되면 PR을 승인하고 병합할 수 있다.
PR 승인:
|
|
승인 후 PR 병합:
|
|
병합 시 다양한 옵션을 사용할 수 있다:
|
|
자동으로 브랜치를 삭제하려면 --delete-branch
옵션을 추가한다:
|
|
PR 상태 모니터링
PR의 현재 상태, 리뷰 진행 상황, CI 체크 등을 확인하려면:
|
|
이 명령어는 현재 작업 중인 PR, 리뷰해야 할 PR, 승인을 기다리는 PR 등의 정보를 보여준다.
특정 PR의 CI 체크 상태를 자세히 보려면:
|
|
이렇게 하면 모든 CI 작업의 상태와 결과를 볼 수 있다.
7. 고급 사용법
템플릿 사용
PR 생성 시 템플릿을 사용하여 일관된 형식을 유지할 수 있다. 저장소에 .github/PULL_REQUEST_TEMPLATE.md
파일을 생성하고 PR 템플릿을 정의하면 된다. 템플릿 파일을 작성하면 PR 생성 시 자동으로 템플릿 내용이 PR 설명란에 채워진다.
CI 상태 확인
PR의 CI 상태를 확인하려면:
|
|
여기서 CI 상태를 자세히 확인하고, 실패한 체크에 대한 정보를 받을 수 있다.
PR 자동화
GitHub Actions와 GitHub CLI를 결합하여 PR 프로세스를 자동화할 수 있다. 예를 들어, 특정 조건에서 자동으로 PR을 생성하거나 리뷰어를 할당할 수 있다. GitHub Actions를 사용하여 PR 생성, 리뷰어 추가, 상태 업데이트 등을 자동으로 수행할 수 있다.
8. 팁과 트릭
별칭 사용: 자주 사용하는 명령어에 대해 별칭을 만들어 사용하면 편리하다. 예를 들어, 초안 PR을 생성하고 자신을 할당하는 명령어에 별칭을 만들어 사용할 수 있다:
1
gh alias set prc 'pr create --draft --assignee @me'
이제
gh prc
만으로 초안 PR을 생성하고 자신을 할당할 수 있다.설정 파일 활용:
~/.config/gh/config.yml
파일을 통해 GitHub CLI의 기본 설정을 구성할 수 있다. 이 파일에서 기본 저장소 설정, 기본 브랜치 설정 등을 할 수 있다.JSON 출력: 스크립트에서 사용하기 위해 JSON 형식으로 출력을 할 수 있다.
1
gh pr view <PR-number> --json number,title,state
이렇게 하면 JSON 형식으로 PR의 세부 정보를 받아서 스크립트나 프로그램에서 처리할 수 있다.
웹 브라우저 열기: CLI에서 직접 PR을 웹 브라우저로 열 수 있다.
1
gh pr view <PR-number> --web
GitHub CLI 업데이트: 새로운 기능과 버그 수정을 받으려면 정기적으로 GitHub CLI를 업데이트하면 된다.
1
gh release upgrade
9. 결론
이제 GitHub CLI를 사용하여 풀 리퀘스트(PR)를 보내는 방법을 알게 되었다. GitHub CLI를 사용하면 터미널에서 직접 GitHub 작업을 수행할 수 있어 효율적으로 작업할 수 있다. PR을 생성하고 관리하는 방법을 익히고, GitHub CLI의 다양한 기능을 활용하여 개발 프로세스를 더욱 효율적으로 개선하자.