# GitHub CLI:告别繁琐的 Git 命令,让开发更高效

GitHub CLI:告别繁琐的 Git 命令,让开发更高效

本文介绍 GitHub CLI 的安装、配置和日常使用,帮助开发者提升工作流效率。


什么是 GitHub CLI

GitHub CLI(gh)是 GitHub 官方出品的命令行工具,让你无需离开终端就能操作 GitHub,包括创建仓库、管理 issue、提交 PR、查看代码等。

与传统的 git 命令不同,gh 是针对 GitHub 平台本身的高层操作,它简化了很多重复的操作,大幅提升开发效率。

传统方式 vs GitHub CLI

传统方式:

bash 复制代码
# 创建本地仓库、推送代码
git init
git add .
git commit -m "init"
# 然后要去 GitHub 网页上手动创建远程仓库,复制地址
git remote add origin https://github.com/user/repo.git
git push -u origin main

GitHub CLI 方式:

bash 复制代码
# 一个命令直接创建远程仓库并推送
gh repo create my-repo --source=. --remote=origin --push

差别就是:用 gh 减少网页操作,所有事都在命令行搞定。


安装

macOS(推荐 Homebrew)

bash 复制代码
brew install gh

验证安装:

bash 复制代码
gh --version
# 输出:gh version 2.x.x

Linux

bash 复制代码
# Ubuntu / Debian
sudo apt-get install gh

# Fedora / RHEL
sudo dnf install gh

# Arch Linux
sudo pacman -S github-cli

Windows

bash 复制代码
choco install gh
# 或者
scoop install gh

登录与认证

安装完需要登录 GitHub 账户,gh 会用 OAuth 认证,完全不需要输入密码。

bash 复制代码
gh auth login

按提示选择:

复制代码
? Where do you use GitHub?
> GitHub.com

? What is your preferred protocol for Git operations?
> HTTPS

? Authenticate Git with your GitHub credentials?
> Yes

? How would you like to authenticate GitHub CLI?
> Login with a web browser

最后一步会弹出浏览器,自动打开 GitHub 授权页面,点确认即可。登录成功后,后续所有 gh 命令都会自动用你的身份。

验证登录成功:

bash 复制代码
gh auth status
# 输出你的用户名和权限信息

日常使用场景

1. 创建新仓库

方式 A:直接创建远程仓库

bash 复制代码
gh repo create customer-service-agent \
  --description "基于 LangChain 的智能客服系统" \
  --private \
  --source=. \
  --remote=origin \
  --push

一个命令搞定:创建仓库、关联本地代码、推送到远程。

方式 B:只创建空仓库(不推送代码)

bash 复制代码
gh repo create my-repo --private

2. 查看仓库信息

bash 复制代码
# 查看当前仓库详情
gh repo view

# 查看某个仓库
gh repo view owner/repo-name

# 查看仓库的 README
gh repo view owner/repo-name --web  # 在浏览器打开

3. 管理 Issue

bash 复制代码
# 列出所有 open 的 issue
gh issue list

# 查看某个 issue 的详情
gh issue view 1

# 创建新 issue
gh issue create --title "修复登录 bug" --body "用户反馈..."

# 关闭 issue
gh issue close 1

# 添加标签
gh issue edit 1 --add-label "bug,urgent"

4. 提交和管理 PR

bash 复制代码
# 当前分支创建 PR(会自动打开编辑器让你写 PR 描述)
gh pr create --title "新增数据库建表功能"

# 列出所有 PR
gh pr list

# 查看 PR 详情
gh pr view 5

# 在本地检出某个 PR 的代码
gh pr checkout 5

# 合并 PR
gh pr merge 5

# 关闭 PR
gh pr close 5

5. 代码审查

bash 复制代码
# 查看 PR 的改动
gh pr diff 5

# 添加评论
gh pr comment 5 --body "LGTM(looks good to me)"

# 请求审查
gh pr review 5 --request-review @username

6. 查看工作流 / Actions 状态

bash 复制代码
# 列出所有 workflow runs
gh run list

# 查看某个 run 的详情
gh run view 12345

# 查看日志
gh run view 12345 --log

7. 克隆仓库

bash 复制代码
# 速度比 git clone 快,因为会自动用 SSH 或 HTTPS(取决于你的认证方式)
gh repo clone owner/repo-name

# 克隆到指定目录
gh repo clone owner/repo-name ~/my-projects/repo-name

进阶用法

1. 批量操作 Issue

bash 复制代码
# 给所有 open 的 issue 加上 "help wanted" 标签
gh issue list --state open --json number -q '.[].number' | \
  xargs -I {} gh issue edit {} --add-label "help wanted"

2. 生成发布说明

bash 复制代码
# 从最近的 tag 生成 changelog
gh release create v1.0.0 --generate-notes

3. 快速打开仓库网页

bash 复制代码
# 在浏览器打开当前仓库
gh repo view --web

# 打开 issue
gh issue view 1 --web

# 打开 PR
gh pr view 5 --web

4. 自定义别名(缩短命令)

bash 复制代码
# 为常用命令创建别名
gh alias set prl 'pr list --state open'
gh alias set iss 'issue list --state open'

# 之后直接用缩写
gh prl  # 等同于 gh pr list --state open

常见问题

Q:GitHub CLI 和 Git 的区别是什么?

A:git 是版本控制工具,管理代码的版本历史。gh 是 GitHub 平台工具,管理仓库、issue、PR 等平台功能。两者互补,不冲突。

Q:gh 能替代 git 吗?

A:不能。git 是必需的,gh 是增强。你还是要用 git add/commit/pushgh 只是让平台操作更快。

Q:安全吗?密码会泄露吗?

A:完全安全。gh 用 OAuth 认证,密码永远不会输入到命令行,认证信息存在系统密钥链里(macOS 是 Keychain)。

Q:能在脚本里用 gh 吗?

A:可以。gh 支持 --json 输出,方便在 CI/CD 里集成:

bash 复制代码
# 输出 JSON 格式
gh pr list --json number,title,author

# 解析 JSON
gh issue list --json number,title -q '.[].number'

工作流建议

日常开发流程

bash 复制代码
# 1. 创建新分支
git checkout -b feature/add-login

# 2. 修改代码
# ... 写代码 ...

# 3. 提交
git add .
git commit -m "feat: 添加登录功能"
git push origin feature/add-login

# 4. 创建 PR(无需复制链接,自动关联)
gh pr create --title "feat: 添加登录功能" --body "实现用户登录界面"

# 5. 等待审查、合并
gh pr view  # 查看 PR 状态

CI 失败处理

bash 复制代码
# 查看最新 run 的日志
gh run view --log -n 1

# 重新运行 workflow
gh run rerun 12345

总结

GitHub CLI 的核心价值在于:

  1. 减少网页操作 --- 留在终端,提升效率
  2. 简化命令 --- 一个命令完成复杂操作
  3. 自动化友好 --- JSON 输出方便脚本集成
  4. 安全认证 --- OAuth 认证,不涉及密码

如果你每天都在 GitHub 上工作,gh 值得花半小时学习,长期回报很大。


参考资源

  • 官方文档:cli.github.com
  • 快速参考:gh help
  • 命令详解:gh <command> --help

下次开发时,试试用 gh 代替浏览器操作吧!

相关推荐
恋喵大鲤鱼1 小时前
git clone
git·git clone
zh_xuan2 小时前
上传api调试工具到github
github
金牛IT3 小时前
Gogs 轻量级 Git 服务器搭建与使用
运维·服务器·git
AIMath~4 小时前
彻底删除 GitHub 仓库中特定文件夹的完整指南
github
DogDaoDao5 小时前
【GitHub】OpenClaw:开源个人AI助手的新标杆
人工智能·深度学习·开源·大模型·github·ai编程·opeclaw
一点一木13 小时前
🚀 2026 年 4 月 GitHub 十大热门项目排行榜 🔥
人工智能·github
Qres82114 小时前
Git安装记录
git
宝桥南山15 小时前
AI - 在命令行中尝试一下ACP(Agent Client Protocol)通信
microsoft·微软·github·aigc·copilot
wj30558537815 小时前
Codex + Git 开发环境配置指南(WSL版)
linux·运维·git