# GitHub CLI 快速入门与核心命令实践指南
GitHub CLI(gh)是一个开源工具,允许你在计算机命令行环境中直接使用 GitHub 服务。通过它,你可以节省切换上下文的时间,直接在终端完成仓库克隆、问题查看及拉取请求创建等操作。
## 开始使用前的准备
在使用 GitHub CLI 之前,你需要先在 macOS、Windows 或 Linux 系统上安装该工具。安装完成后,需要在终端中运行 `gh auth login` 命令进行身份验证。
根据你访问的域名选择认证方式:如果是 GitHub.com,直接选择;若是其他域名(如企业版 GHE),则选择 Other 并输入主机名。认证过程中,若选择 HTTPS 协议并同意使用 GitHub 凭证进行 Git 操作,工具会自动存储你的凭据。这样在进行 `git push` 或 `git pull` 时,无需额外配置密码管理器或使用 SSH。
## 常用命令概览
### 查看状态与仓库信息
输入 `gh status` 可查看你在所有订阅仓库中的当前工作状态。若要查看特定仓库的描述和 README.md 文件,使用 `gh repo view OWNER/REPO`。若希望直接在默认浏览器中打开仓库页面,可添加 `--web` 参数。
### 克隆与创建仓库
要克隆一个远程仓库到本地,运行:
```bash
gh repo clone OWNER/REPO
```
例如:`gh repo clone octo-org/octo-repo` 会将该仓库克隆到当前终端所在目录。
若需新建空仓库,可使用 `gh repo create` 并按提示操作。也可将本地现有仓库推送到 GitHub,并设为远程分支。
### 处理问题(Issues)
列出指定仓库中最近创建的开放性问题:
```bash
gh issue list --repo OWNER/REPO
```
若当前处于有 GitHub 远程的本地 Git 仓库目录,可省略 `--repo` 参数。
你还可以按分配人或创建人筛选问题,例如:
- `gh issue list --assignee "@me"`:列出分配给当前用户的问题
- `gh issue list --author monalisa`:列出由用户 monalisa 创建的问题
### 处理拉取请求(Pull Requests)
列出指定仓库中最近创建的开放拉取请求:
```bash
gh pr list --repo OWNER/REPO
```
同样,若在当前本地 Git 仓库目录下且远程指向 GitHub,可省略 `--repo`。
可按创建人、标签或审查请求状态筛选,例如:
- `gh pr list --author "@me"`:列出当前用户创建的开放 PR
- `gh pr list --label LABEL-NAME`:列出带有特定标签的开放 PR
- `gh search prs --review-requested=@me --state=open`:列出请求当前用户审查的开放 PR
创建新拉取请求请使用:
```bash
gh pr create
```
并按提示填写标题、描述等信息。
### 其他实用功能
- **Codespaces**:使用 `gh codespace create` 创建新的开发环境,`gh codespace list` 查看已有环境,`gh codespace code -w` 在浏览器中打开 VS Code 编辑器。
- **获取帮助**:输入 `gh` 可查看顶层命令列表;对任意子命令添加 `--help` 可查看详细用法,如 `gh issue --help`。
- **自定义配置**:使用 `gh config set SUBCOMMANDS` 设置偏好,例如将文本编辑器设为 VS Code:
```bash
gh config set editor "code -w"
```
还可定义常用命令别名,如 `gh alias set prd "pr create --draft"`,之后只需输入 `gh prd` 即可创建草稿 PR。
## 多账户支持
若拥有多个 GitHub 账户(如个人与企业管理账户),可使用 `gh auth switch` 在不同账户间切换。跨平台使用时,也可配置不同平台的认证信息。
GitHub CLI 是一个强大而简洁的工具,适合日常开发流程中快速完成各类 GitHub 操作。