如何使用 GitHub CLI(gh):安装、gh auth login、clone 与终端创建 Issue/PR

装好 gh 并完成 auth login 后,在终端 clone 仓库并创建 Issue 与 Pull Request。

在浏览器里点进 Settings → Developer settings → Personal access tokens,再复制 git clone URL,Issue 和 PR 仍要切回网页填表单。GitHub CLI(gh) 把登录、克隆、开 Issue、开 PR 收进终端;安装与认证步骤以 cli.github.com 官方文档为准。

搜索 GitHub CLI gh 安装 gh auth login clone 创建 issue PR 的人,通常要完成:装好 gh、gh auth login 绑定账号、gh repo clone 拉仓库,以及第一次用命令行创建 Issue 和 Pull Request。下文命令可在本机用 gh --help 核对。

安装 ghgh auth loginclone · issue · PR

gh 适合谁

01

每天开 Issue/PR 的开发者

在 feature 分支上改完代码,直接在 shell 里 gh pr create,少切浏览器 tab。

02

维护多个 org 仓库的人

gh repo clone org/repo 用已登录身份拉私有库,不必每次粘贴 PAT。

03

脚本与 CI 调试

本地先 gh auth status 确认 scope,再跑 release、workflow 或 project 相关子命令(见 gh help)。

安装 GitHub CLI

  1. 1

    macOS:Homebrew

    运行 brew install gh,执行 gh --version 确认 CLI 在 PATH 中。

  2. 2

    Debian / Ubuntu

    按 GitHub 文档添加官方 apt 源后 sudo apt install gh,或使用发行版提供的 gh 包;装完同样用 gh --version 验证。

  3. 3

    Windows

    可用 winget install GitHub.cli 或 scoop install gh(包名以各商店当前条目为准)。

  4. 4

    其他 Linux

    Fedora:sudo dnf install gh。Arch:sudo pacman -S github-cli。若无包,可从 GitHub Releases 下载对应架构二进制。

gh auth login:登录 GitHub

  1. 1

    启动交互登录

    在终端运行 gh auth login。选择 GitHub.com(GitHub Enterprise 用户选对应 hostname)。

  2. 2

    选协议与凭据

    HTTPS 或 SSH 按团队规范选;HTTPS 常见流程是通过浏览器 OAuth 或粘贴一次性 token(按提示操作,勿把 token 提交到仓库)。

  3. 3

    确认状态

    gh auth status 应显示已登录账号与 token 权限。若 git push 仍失败,检查 remote URL 与 SSH key 是否匹配。

  4. 4

    多账号(可选)

    工作与个人账号可配合 gh auth switch 或文档中的 host 配置;具体 flags 以当前 gh auth login -h 为准。

gh auth login
gh auth status

克隆仓库:gh repo clone

在任意目录用 owner/repo 简写克隆(需对该仓库有读权限):

gh repo clone github/github-cli
cd github-cli
git remote -v

等价于在已认证状态下走 GitHub 推荐的 clone 路径;私有库同样适用。若习惯纯 git clone,只要 gh auth 已配置 HTTPS credential helper 或 SSH,也可以继续用 git。

终端创建 Issue 与 Pull Request

命令作用典型场景
gh issue create新建 Issue报 bug、提需求
gh issue list列出 Issue查分配给自己的项
gh pr create开 Pull Request推分支后提审
gh pr status当前分支 PR 状态CI 是否通过
gh pr checkout 123检出他人 PR 分支本地 review
  1. 1

    创建 Issue

    在仓库根目录:gh issue create --title "Fix login timeout" --body "Steps to reproduce…"。不加参数时会打开交互式编辑器(取决于终端与 $EDITOR)。

  2. 2

    提交并推送分支

    照常 git checkout -b fix/login、commit、git push -u origin fix/login(或用 gh 提供的 git 集成,以文档为准)。

  3. 3

    创建 PR

    gh pr create --title "Fix login timeout" --body "Closes #42"。首次会提示选 base 分支与是否 draft;也可 gh pr create --web 在浏览器补全模板。

  4. 4

    查看结果

    gh pr view --web 打开 PR 页面;gh pr checks 看 CI(需仓库启用对应 checks)。

gh 调用 GitHub API,不替代 Git 本身:日常仍用 git 做 commit/merge;gh 负责 GitHub 托管侧的对象(Issue、PR、Release 等)。

gh auth login 后仍 401
运行 gh auth refresh 或重新 login;检查是否登录错 hostname(Enterprise vs github.com)。
没有权限开 PR
确认对目标仓库有 write 或 fork 工作流;fork 后默认向 upstream 开 PR 需指定 --repo。
与 lazygit / IDE 并存
可以:终端 UI 用 lazygit 做 stage/commit,gh 管 Issue/PR;见本站 lazygit 指南。

和队友对齐 PR 描述或画流程时,可从 wbroom 首页 开浏览器房间,步骤见 创建与加入房间。

还想核对的问题

gh 和 git 是什么关系?

git 是版本控制;gh 是 GitHub 官方 CLI,封装 API 与部分 git 辅助(如 clone 凭据)。两者配合使用。

必须用 gh repo clone 吗?

不必。认证配置好后普通 git clone 即可;gh repo clone 只是简写并确保 remote 正确。

能否非交互创建 PR?

可以,用 --title、--body、--base、--head 等 flags;脚本里建议先 gh auth status 再跑,避免 CI 误用个人 token。

如何登出?

gh auth logout 移除本机凭据。共享机器上离开前建议 logout 或删除 ~/.config/gh/ 中对应 host 配置(路径以文档为准)。

开始一场会议