{"meta":{"title":"将其他工具与堆叠式拉取请求配合使用","intro":"将堆积拉取请求与 Jujutsu、Sapling 或 git-town 等工具配合使用。","product":"拉取请求","breadcrumbs":[{"href":"/zh/enterprise-cloud@latest/pull-requests","title":"拉取请求"},{"href":"/zh/enterprise-cloud@latest/pull-requests/reference","title":"Reference"},{"href":"/zh/enterprise-cloud@latest/pull-requests/reference/use-other-tools-with-stacked-pull-requests","title":"堆叠式 PR 和其他工具"}],"documentType":"article"},"body":"# 将其他工具与堆叠式拉取请求配合使用\n\n将堆积拉取请求与 Jujutsu、Sapling 或 git-town 等工具配合使用。\n\n> \\[!NOTE] 此功能以公共预览版提供，可能会发生更改。\n\n堆叠式拉取请求是建立在标准 Git 分支和普通拉取请求之上的，因此你可以选择使用 `gh stack` CLI 以外的工具来进行本地工作流程。 如果您使用其他工具（例如 Jujutsu（jj）、Sapling 或 git-town）管理分支链，则可以使用 `gh stack link` 命令在 GitHub 上将这些分支作为堆栈打开。\n\n该 `gh stack link` 命令仅调用 GitHub API 来创建堆叠拉取请求 ， 它不会创建任何本地跟踪。 如果某个分支已有开放的拉取请求，`link` 会直接使用该拉取请求；否则，它会以正确的基础分支创建一个草稿拉取请求。\n\n## 将分支链接为堆栈\n\n1. 使用所选工具在本地创建分支链。 例如，使用 Jujutsu 时：\n\n   ```shell\n   jj new main -m \"first change\"\n   jj bookmark create change1 --revision @\n\n   jj new -m \"second change\"\n   jj bookmark create change2 --revision @\n\n   jj new -m \"third change\"\n   jj bookmark create change3 --revision @\n   ```\n\n2. 推送这些分支，并将它们链接成一个堆栈，按从底部到顶部的顺序列出。\n\n   ```shell\n   gh stack link change1 change2 change3\n   ```\n\n   这会推送分支，为每个分支创建对应正确基础分支的拉取请求，并将这些拉取请求在 GitHub 上关联为一个堆栈。\n\n## 添加到现有堆栈\n\n若要向创建的 `link`堆栈添加更多分支，请从下到上再次运行 `gh stack link` ，其中包含堆栈中拉取请求和分支 **的完整** 列表。 可以按数字引用现有拉取请求。\n\n```shell\ngh stack link 123 124 125 change4 change5\n```\n\n## 设置基础分支或创建拉取请求\n\n默认情况下，`link` 会以仓库的默认分支为目标，并创建草稿拉取请求。 若要更改此行为，请执行以下操作：\n\n* 使用 `--base` 来指定不同的主干分支。\n* 使用 `--open` 将拉取请求标记为可供审阅，而不是草稿。\n\n```shell\ngh stack link --base develop --open change1 change2 change3\n```\n\n## 采用分支进行完整的本地跟踪\n\n如果你想要完整的本地堆栈跟踪能力，这样就可以使用 `gh stack rebase`、`gh stack sync` 以及堆栈导航等命令，请改用 `gh stack init` 接管你现有的分支，然后再提交它们。\n\n```shell\ngh stack init change1 change2 change3\ngh stack submit\n```\n\n## 延伸阅读\n\n* [堆积拉取请求](/zh/enterprise-cloud@latest/pull-requests/reference/stacked-pull-requests)"}