如何通过命令行工具创建及处理GitHub Pull Request?
别慌,完全可以用GitHub官方的命令行工具gh来搞定所有Pull Request相关操作,不用碰浏览器一步到位!下面我把每个环节的具体步骤和命令给你讲清楚:
第一步:安装GitHub CLI(
gh工具) 这是官方提供的命令行工具,专门用来和GitHub交互,支持所有PR操作。不同系统的安装命令如下:
- macOS:用Homebrew安装,执行
brew install gh - Linux(Debian/Ubuntu):先添加源再安装
type -p curl >/dev/null || 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 - Windows:用Winget安装,执行
winget install GitHub.cli
第二步:登录GitHub账号
安装完成后,执行 gh auth login,按照提示选择登录方式(推荐用浏览器临时授权,虽然这里说不用浏览器,但登录只需要一次临时跳转,之后就可以纯命令行操作了;如果完全不想碰浏览器,也可以选择生成个人访问令牌PAT来登录)。
核心操作:PR的创建、批准、驳回、合并
创建Pull Request
切换到你的功能分支后,执行 gh pr create,可以选择交互式填写信息,也可以用参数直接指定:
- 直接指定参数的例子:
解释:gh pr create --base main --head my-feature-branch --title "新增用户订单查询功能" --body "1. 修复了订单状态显示异常的问题;2. 新增按日期筛选订单的功能"--base:指定PR要合并到的目标分支(比如main)--head:指定你的功能分支名称--title:PR的标题--body:PR的详细描述
- 如果你不想写参数,直接执行
gh pr create,会进入交互式界面,一步步引导你填写信息。
批准Pull Request
如果你有权限批准PR,执行:
gh pr review <PR编号或PR URL> --approve
还可以添加批准备注:
gh pr review 123 --approve --body "代码逻辑清晰,测试用例覆盖全面,可以合并"
提示:用
gh pr list可以查看当前仓库的所有PR及其编号
驳回Pull Request
需要请求修改时,执行:
gh pr review <PR编号> --request-changes
同样可以添加修改意见:
gh pr review 123 --request-changes --body "请修复以下问题:1. 订单金额计算逻辑有误;2. 缺少异常处理的代码注释"
合并Pull Request
执行以下命令完成合并,还可以指定合并方式:
# 默认合并(保留分支历史,生成合并提交) gh pr merge 123 # Squash合并(将所有提交压缩成一个提交后合并) gh pr merge 123 --squash # Rebase合并(将功能分支的提交变基到目标分支后合并) gh pr merge 123 --rebase # 合并后自动删除源分支 gh pr merge 123 --squash --delete-branch
额外实用命令
- 查看某个PR的详细信息:
gh pr view 123 - 查看当前仓库的PR列表:
gh pr list - 更新本地PR的代码:
gh pr checkout 123(切换到PR对应的分支)
内容的提问来源于stack exchange,提问作者Satish Kumar
相关产品推荐
相关产品推荐

