GitHub CLI
GitHub CLI, 또는 gh CLI는 명령줄에서 사용하는 GitHub 도구입니다. 이 도구는 pull request, 이슈 등 기타 GitHub 개념들을 사용자가 이미 git과 코드를 다루고 있는 터미널로 가져다줍니다.
[!IMPORTANT]
Linux 패키지 저장소에 대한 GitHub CLI의 PGP 서명 키 로테이션은 2026년 9월 5일에 발효됩니다. 패키지 설치 또는 업데이트 문제에 직면한 사용자는 공개 공지에서 해결책을 찾을 수 있습니다.
screenshot of gh pr status
GitHub CLI는 GitHub.com, GitHub Enterprise Cloud 및 지원되는 GitHub Enterprise Server 버전의 사용자를 지원하며, macOS, Windows, Linux를 지원합니다.
문서화 (Documentation)
설치 옵션은 아래를 참조하고, 사용 방법 지침은 매뉴얼을 참고하십시오.
에이전트 스킬 (Agent skills)
에이전트 스킬은 코딩 에이전트로부터 gh를 구동하는 데 사용할 수 있습니다. 내장된 gh skill 명령어를 사용하여 설치하거나 업데이트하십시오:
# 스킬 설치 (사용자 범위 권장)
gh skill install cli/cli gh --scope user
...
기여 (Contributing)
어떤 부분이 이상하게 느껴지거나 기능이 부족하다고 생각되면, 기여 페이지를 확인해 주십시오. 그곳에서 피드백 공유 방법, 로컬 도구 빌드 방법, 프로젝트에 pull request 제출 방법에 대한 지침을 찾을 수 있습니다.
만약 허브버(hubber)이며 CLI용 새로운 명령어를 배포하는 데 관심이 있다면, 내부 기여 관련 문서를 확인해 보십시오.
<!-- this anchor is linked to from elsewhere, so avoid renaming it -->
설치 (Installation)
추가 macOS 패키지 및 설치 프로그램은 커뮤니티 지원 문서를 참조하십시오.
추가적인 Linux 및 Unix 패키지 및 설치 프로그램은 커뮤니티 지원 문서(community-supported docs)를 참조하세요.
추가적인 Windows 패키지 및 설치 프로그램은 커뮤니티 지원 문서(community-supported docs)를 참조하세요.
소스에서 빌드하기 (Build from source)
소스에서 GitHub CLI를 빌드하는 방법을 여기서 확인하세요.
GitHub Codespaces
Codespace에 GitHub CLI를 추가하려면 다음 내용을 [devcontainer 파일]에 추가하세요:
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {}
}
GitHub Actions
GitHub에서 호스팅하는 러너(GitHub-hosted runners)에는 GitHub CLI가 사전 설치되어 있으며, 이는 매주 업데이트됩니다.
특정 버전이 필요한 경우, 사용자의 GitHub Actions 워크플로우(workflow)는 위의 macOS, Linux 및 Unix, 또는 Windows 지침을 기반으로 이를 설치해야 합니다.
사전 설치된 모든 도구에 대한 정보는 actions/runner-images를 참조하세요.
바이너리 검증 (Verification of binaries)
v2.93.0 버전부터 gh 릴리스는 변경 불가능한(immutable) 릴리스로 게시됩니다. 더 자세한 내용은 변경 불가능한 릴리스(Immutable releases)를 참조하세요.
버전 2.50.0부터 gh는 빌드 출처 증명서(Build Provenance Attestation)를 생성하여, 원본 GitHub 리포지토리, git 리비전, 그리고 사용된 빌드 지침까지 암호학적으로 검증 가능한 기록을 가능하게 했습니다. 이 빌드 출처 증명서는 서명되며 PKI(공개 키 기반 구조)를 위해 Public Good인 Sigstore에 의존합니다.
다운로드한 릴리스를 검증하는 일반적인 방법은 gh가 이미 설치되어 있는지 여부에 따라 두 가지가 있습니다. 만약 gh가 설치되어 있다면, 새 릴리스를 검증하는 것은 매우 간단합니다:
-
옵션 1: 이미 설치된 경우 gh 사용:
$ gh at verify -R cli/cli gh_2.62.0_macOS_arm64.zip
Loaded digest sha256:fdb77f31b8a6dd23c3fd858758d692a45f7fc76383e37d475bdcae038df92afc for file://gh_2.62.0_macOS_arm64.zip
Loaded 1 attestation from GitHub API
...
- **옵션 2: Sigstore의 `cosign` 사용:**
이를 수행하려면, 다운로드한 릴리스에 대한 [증명서(attestation)](https://github.com/cli/cli/attestations)를 다운로드하고 cosign을 사용하여 다운로드된 릴리스의 진위성을 검증해야 합니다:
```shell
$ cosign verify-blob-attestation --bundle cli-cli-attestation-3120304.sigstore.json \
--new-bundle-format \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
...
hub와의 비교
수년 동안 hub는 비공식 GitHub CLI 도구였습니다. gh는 근본적으로 다른 설계로 공식 GitHub CLI 도구가 어떤 모습일 수 있는지 탐색하는 데 도움을 주는 새로운 프로젝트입니다. 두 도구 모두 터미널에 GitHub를 가져오지만, hub는 git의 프록시처럼 작동하며, gh는 독립적인(standalone) 도구입니다. 더 자세한 내용은 여기에서 확인해 보세요.