GitHub CLI çå¿«éåèï¼è¿æ¯ä¸ä¸ªå¼æºå½ä»¤è¡å·¥å ·ï¼å¯å¨ç»ç«¯ä¸å¯ç¨ GitHub åè½ã
| å·¥å · | å®è£ | å级 |
|---|---|---|
| WinGet | winget install --id Github.cli | winget upgrade --id GitHub.cli |
| Scoop | scoop install gh | scoop update gh |
| Choco | choco install gh | choco upgrade gh |
| å·¥å · | å®è£ | å级 |
|---|---|---|
| Brew | brew install gh | brew upgrade gh |
| MacPorts | sudo port install gh | sudo port selfupdate && sudo port upgrade gh |
请åè§ å®è£ 说æ 以è·åå ¶ä» Linux åè¡ççä¿¡æ¯ãå®è£ èæ¬ï¼
type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y
æ¾ç¤ºå½ä»¤é项ï¼
| å½ä»¤ | æè¿° |
|---|---|
gh help [command] | 叮婿ä¾åºç¨ç¨åºä¸ä»»ä½å½ä»¤ç帮å©ãåªéé®å
¥ gh help [å½ä»¤è·¯å¾] 以è·å宿´è¯¦ç»ä¿¡æ¯ã |
| å½ä»¤ | æè¿° |
|---|---|
gh auth login | é»è®¤éè¿åºäºç½é¡µçæµè§å¨è¿è¡èº«ä»½éªè¯ |
gh auth logout | ç§»é¤ä¸»æºç身份éªè¯é ç½® |
gh auth refresh | æ©å±æä¿®å¤åå¨åæ®çæéèå´ |
gh auth setup-git | é ç½® Git ä½¿ç¨ GitHub CLI ä½ä¸ºåæ®å©æ |
gh auth status | éªè¯å¹¶æ¾ç¤ºæå ³æ¨èº«ä»½éªè¯ç¶æçä¿¡æ¯ |
gh auth token | æå° gh é
置使ç¨ç身份éªè¯ä»¤ç |
ä½¿ç¨ GitHub 令çï¼
$ gh auth --with-token < token.txt
| å½ä»¤ | æè¿° |
|---|---|
gh repo create | å建ä¸ä¸ªæ°ç GitHub ä»åº |
gh repo list [target] | ååºæä¸ªç¨æ·æç»ç»æ¥æçä»åº |
| å½ä»¤ | æè¿° |
|---|---|
gh repo archive [repo] | åæ¡£ä¸ä¸ª GitHub ä»åº |
gh repo clone [dir] | 卿¬å°å éä¸ä¸ª GitHub ä»åº |
gh repo delete [repo] | å é¤ä¸ä¸ª GitHub ä»åº |
gh repo deploy-key | 管çä»åºä¸çé¨ç½²å¯é¥ |
gh repo edit [repo] | ç¼è¾ä»åºè®¾ç½® |
gh repo fork [repo] | å建ä¸ä¸ªä»åºçåå |
gh repo rename [name] | éå½åä¸ä¸ª GitHub ä»åº |
gh repo set-default [repo] | 设置é»è®¤çè¿ç¨ä»åº |
gh repo sync [dest-repo] | 仿ºä»åºåæ¥å°ç®æ ä»åº |
gh repo view [repo] | æ¾ç¤ºä¸ä¸ª GitHub ä»åºçæè¿°å README |
| å½ä»¤ | æè¿° |
|---|---|
gh search issues [query] | å¨ GitHub ä¸æç´¢é®é¢ |
æç´¢å¹é å ³é®è¯ "readme" å "typo" çé®é¢
$ gh search issues readme typo
æç´¢å¹é çè¯ "broken feature" çé®é¢
$ gh search issues "broken feature"
æç´¢ cli ç»ç»ä¸çé®é¢åæå请æ±
$ gh search issues --include-prs --owner=cli
æç´¢åé ç»èªå·±ç弿¾é®é¢
$ gh search issues --assignee=@me --state=open
æç´¢è¯è®ºæ°è¶ è¿ 100 çé®é¢
$ gh search issues --comments=">100"
æç´¢æ²¡ææ ç¾ "bug" çé®é¢
$ gh search issues -- -label:bug
æåè¯·æ±æä½
| å½ä»¤ | æè¿° |
|---|---|
gh pr create | å¨ GitHub ä¸å建æåè¯·æ± |
gh pr list | ååº GitHub ä»åºä¸çæåè¯·æ± |
gh pr status | æ¾ç¤ºç¸å ³æå请æ±çç¶æ |
示ä¾
$ gh pr status
示ä¾è¾åºï¼
Current branch
#12 Remove the test feature [user:patch-2]
- All checks failing - Review required
Created by you
You have no open pull requests
Requesting a code review from you
#13 Fix tests [branch]
- 3/4 checks failing - Review required
#15 New feature [branch]
- Checks passing - Approved
å¸¸è§æä½
| å½ä»¤ | æè¿° |
|---|---|
gh workflow disable | ç¦ç¨å·¥ä½æµï¼é²æ¢å ¶è¿è¡æå¨ååºå·¥ä½æµæ¶æ¾ç¤º |
gh workflow enable | å¯ç¨å·¥ä½æµï¼å è®¸å ¶è¿è¡å¹¶å¨ååºå·¥ä½æµæ¶æ¾ç¤º |
gh workflow list | ååºå·¥ä½æµæä»¶ï¼é»è®¤éèç¦ç¨ç工使µ |
gh workflow run | 为ç»å®ç工使µå建ä¸ä¸ª workflow_dispatch äºä»¶ |
gh workflow view | æ¥ç工使µçæè¦ |
è¿è¡æä½
| å½ä»¤ | æè¿° |
|---|---|
gh run cancel | åæ¶ä¸ä¸ªå·¥ä½æµè¿è¡ |
gh run delete | å é¤ä¸ä¸ªå·¥ä½æµè¿è¡ |
gh run download | ä¸è½½ç± GitHub Actions 工使µè¿è¡çæç工件 |
gh run list | ååºæè¿ç工使µè¿è¡ |
gh run rerun | éæ°è¿è¡æ´ä¸ªè¿è¡ãä» å¤±è´¥çä½ä¸æè¿è¡ä¸çç¹å®ä½ä¸ |
gh run view | æ¥ç工使µè¿è¡çæè¦ |
gh run watch | è§çä¸ä¸ªè¿è¡ç´å°å ¶å®æï¼æ¾ç¤ºå ¶è¿åº¦ |
常è§å«å设置
| å½ä»¤ | æè¿° |
|---|---|
gh alias delete | å é¤è®¾ç½®çå«å |
gh alias import | ä» YAML æä»¶çå 容ä¸å¯¼å ¥å«å |
gh alias list | æå°åºææå·²é ç½®çå«å |
gh alias set | å®ä¹ä¸ä¸ªåè¯ï¼å½è°ç¨æ¶ä¼å±å¼ä¸ºå®æ´ç gh å½ä»¤ |
å¸¸è§æä½
| å½ä»¤ | æè¿° |
|---|---|
gh release create | 为ä¸ä¸ªä»åºå建æ°ç GitHub åå¸ |
gh release list | ååºä¸ä¸ªä»åºä¸çåå¸ |
ç®æ å½ä»¤
| å½ä»¤ | æè¿° |
|---|---|
gh release delete | å é¤ä¸ä¸ªåå¸ |
gh release delete-asset | ä»ä¸ä¸ªåå¸ä¸å é¤ä¸ä¸ªèµäº§ |
gh release download | ä» GitHub åå¸ä¸ä¸è½½èµäº§ |
gh release edit | ç¼è¾ä¸ä¸ªåå¸ |
gh release upload | ä¸ä¼ èµäº§æä»¶å°ä¸ä¸ª GitHub åå¸ |
gh release view | æ¥çæå ³ä¸ä¸ª GitHub åå¸çä¿¡æ¯ |
ç®æ 设置
| å½ä»¤ | æè¿° |
|---|---|
gh config clear-cache | æ¸ é¤ CLI ç¼å |
gh config get | æå°ç»å®é ç½®é®çå¼ |
gh config list | æå°é ç½®é®åå ¶å¼çå表 |
gh config set | ç¨ç»å®é®ç弿´æ°é ç½® |