Skip to main content

将其他工具与堆积拉取请求配合使用

将堆积拉取请求与 Jujutsu、Sapling 或 git-town 等工具配合使用。

注意

此功能以公共预览版提供,可能会发生更改。

堆积拉取请求是基于标准 Git 分支和常规拉取请求构建的 gh stack ,因此可以选择使用 CLI 以外的工具进行本地工作流。 如果使用另一个工具(例如 Jujutsu(jj)、Sapling 或 git-town 管理分支链,则可以使用 gh stack link 命令将这些分支作为堆栈 GitHub打开。

gh stack link 命令仅调用 GitHub API 来创建堆叠拉取请求 , 它不会创建任何本地跟踪。 如果分支已有打开的拉取请求, link 则使用它;否则,它会使用正确的基分支创建草稿拉取请求。

将分支链接为堆栈

  1. 使用所选工具在本地创建分支链。 例如,使用 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 @
    
  2. 推送分支并将其作为堆栈链接,从底部到顶部列出。

    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 rebasegh stack sync堆栈导航)改用现有的分支 gh stack init ,然后提交它们。

gh stack init change1 change2 change3
gh stack submit

延伸阅读