gh pr create
gh pr create [flags]
在 GitHub 上创建拉取请求。
当当前分支没有完全推送到 git 远程仓库时,系统会提示您将分支推送到哪里,并提供一个派生基础仓库的选项。使用 --head
显式跳过任何派生或推送行为。
系统还会提示您输入拉取请求的标题和正文。使用 --title
和 --body
跳过此步骤,或者使用 --fill
从 git 提交中自动填充这些值。重要的是要注意,如果 --title
和/或 --body
也与 --fill
一起提供,则由 --title
和/或 --body
指定的值将优先并覆盖任何自动填充的内容。
通过在拉取请求正文中引用问题来将问题链接到拉取请求。如果正文文本提及 Fixes #123
或 Closes #123
,则当拉取请求合并时,引用的问题将自动关闭。
默认情况下,对基础仓库具有写入权限的用户可以将新的提交推送到拉取请求的头分支。使用 --no-maintainer-edit
禁用此功能。
将拉取请求添加到项目需要使用 project
范围进行授权。要授权,请运行 gh auth refresh -s project
。
选项
-a
,--assignee <login>
- 通过登录名分配人员。使用“@me”进行自我分配。
-B
,--base <branch>
- 您希望代码合并到的分支
-b
,--body <string>
- 拉取请求的正文
-F
,--body-file <file>
- 从文件读取正文文本(使用“ - ”从标准输入读取)
-d
,--draft
- 将拉取请求标记为草稿
-
--dry-run
- 打印详细信息而不是创建 PR。可能仍然会推送 git 更改。
-f
,--fill
- 使用提交信息作为标题和正文
-
--fill-first
- 使用第一个提交信息作为标题和正文
-
--fill-verbose
- 使用提交消息+正文作为描述
-H
,--head <branch>
- 包含拉取请求提交的分支(默认 [当前分支])
-l
,--label <name>
- 按名称添加标签
-m
,--milestone <name>
- 按名称将拉取请求添加到里程碑
-
--no-maintainer-edit
- 禁用维护者修改拉取请求的能力
-p
,--project <name>
- 按名称将拉取请求添加到项目
-
--recover <string>
- 从创建的失败运行中恢复输入
-r
,--reviewer <handle>
- 通过其句柄请求来自人员或团队的审查
-T
,--template <file>
- 用作起始正文文本的模板文件
-t
,--title <string>
- 拉取请求的标题
-w
,--web
- 打开网络浏览器以创建拉取请求
从父命令继承的选项
-R
,--repo <[HOST/]OWNER/REPO>
- 使用 [HOST/]OWNER/REPO 格式选择另一个仓库
别名
gh pr new
示例
另请参见
使用中
交互式
# Create a pull request interactively
~/Projects/my-project$ gh pr create
Creating pull request for feature-branch into main in owner/repo
? Title My new pull request
? Body [(e) to launch nano, enter to skip]
http://github.com/owner/repo/pull/1
~/Projects/my-project$
带标志
# Create a pull request using flags
~/Projects/my-project$ gh pr create --title "Pull request title" --body "Pull request body"
http://github.com/owner/repo/pull/1
~/Projects/my-project$
在浏览器中
// Quickly navigate to the pull request creation page
~/Projects/my-project$ gh pr create --web
Opening https://github.com/owner/repo/pull/branch in your browser.
~/Projects/my-project$
使用派生仓库
如果您所在的仓库没有推送权限,此命令将自动为您创建一个派生仓库。