使用 gh stack 扩展在 GitHub CLI 中或在 GitHub 网站上创建堆叠拉取请求。
注意
堆积拉取请求要求所有分支都位于同一存储库中。 不支持跨分支堆栈。
使用 创建堆栈
-
初始化堆栈。 这会基于主干分支创建并签出第一个分支。
Shell gh stack init BRANCH-NAME
gh stack init BRANCH-NAME -
为第一层编写代码,然后暂存并提交更改。
Shell git add . git commit -m "helpful-commit-message"
git add . git commit -m "helpful-commit-message" -
为下一个逻辑工作单元创建分支。 新分支基于当前分支创建。
Shell gh stack add BRANCH-NAME
gh stack add BRANCH-NAME -
在新分支上编写代码并提交。 对每个附加层重复此操作。
-
将所有分支推送到远程存储库,并在 GitHub 上创建堆叠拉取请求。
Shell gh stack submit
gh stack submit每个拉取请求都是使用正确的基分支创建的,因此审阅者只能看到该层的差异,并且拉取请求会自动作为堆栈链接在一起。
从 GitHub 网站创建栈
可以通过将每个拉取请求的基分支设置为其下方的分支,无需使用 CLI 即可创建堆栈。
-
像平常一样创建第一个拉取请求。 通常,你的基地通常会以
main为目标。 -
创建下一个拉取请求,并将其基分支设置为第一个拉取请求的分支。 选择“创建堆叠”选项,将两个拉取请求关联为一个堆叠。
创建后,堆栈会显示相互关联的拉取请求(PR)。
- 拉取请求顶部的堆栈图标 显示一个数字,表示您当前查看的是哪一层。
- 堆栈映射显示在合并框中。 它显示堆栈中的每个拉取请求(PR)及其状态,并允许你只需单击一次即可跳转到任意一层。
-
对每个额外的拉取请求重复此操作,以它前一个拉取请求的分支为目标。
将现有拉取请求转换为堆叠
如果你已经有一些已打开的拉取请求,这些分支首尾衔接,其中每个拉取请求的基分支都是其下方拉取请求的头分支,GitHub 可识别该链并显示建议横幅,以将它们转换为堆栈。
-
在任何符合条件的拉取请求中,选择横幅以打开预览堆栈的对话框,按从上到下的顺序列出每个拉取请求。
-
查看预览并确认将这些拉取请求链接起来,形成一个堆栈。
确认后,堆叠图将显示在每个拉取请求的标头中。
从 GitHub 网站添加到现有堆栈中
若要向已存在的栈添加新的 PR,请执行以下操作:
-
在堆栈中打开任何拉取请求,单击标题栏中的 ,然后单击“ 添加到堆栈”。
-
基础分支会自动设置为最上层拉取请求的 head 分支。 选择新拉取请求的头分支,然后选择“ 创建拉取请求”。
-
选择 “添加到堆栈”以创建拉取请求(PR)。
新的拉取请求已添加到堆栈的顶部。