注意
此功能以公共预览版提供,可能会发生更改。
堆积拉取请求是基于标准 Git 分支和常规拉取请求构建的 gh stack ,因此可以选择使用 CLI 以外的工具进行本地工作流。 如果使用另一个工具(例如 Jujutsu(jj)、Sapling 或 git-town 管理分支链,则可以使用 gh stack link 命令将这些分支作为堆栈 GitHub打开。
该 gh stack link 命令仅调用 GitHub API 来创建堆叠拉取请求 , 它不会创建任何本地跟踪。 如果分支已有打开的拉取请求, link 则使用它;否则,它会使用正确的基分支创建草稿拉取请求。
将分支链接为堆栈
-
使用所选工具在本地创建分支链。 例如,使用 Jujutsu:
jj new main -m "first change" jj bookmark create change1 --revision @ jj new -m "second change" jj bookmark create change2 --revision @ jj new -m "third change" jj bookmark create change3 --revision @ -
推送分支并将其作为堆栈链接,从底部到顶部列出。
gh stack link change1 change2 change3这会推送分支,为每个分支创建一个具有正确基础的拉取请求,并将其作为堆栈链接在一 GitHub起。
添加到现有堆栈
若要向创建的 link堆栈添加更多分支,请从下到上再次运行 gh stack link ,其中包含堆栈中拉取请求和分支 的完整 列表。 可以按数字引用现有拉取请求。
gh stack link 123 124 125 change4 change5
设置基分支或打开拉取请求
默认情况下, link 面向存储库的默认分支并创建草稿拉取请求。 若要更改此行为,请执行以下操作:
- 用于
--base指定不同的中继分支。 - 用于
--open将拉取请求标记为准备审阅而不是草稿。
gh stack link --base develop --open change1 change2 change3
采用分支进行完全本地跟踪
如果想要完整的本地堆栈跟踪,因此可以使用命令(如 gh stack rebase和 gh stack sync堆栈导航)改用现有的分支 gh stack init ,然后提交它们。
gh stack init change1 change2 change3
gh stack submit