Github 上的拉取请求的多个模板

问题描述 投票:0回答:4

根据文档,我必须在

PULL_REQUEST_TEMPLATE
文件夹中创建一个
.github
文件夹。

然后将我的

pull_request_first_template
pull_request_second_template.md
添加到
PULL_REQUEST_TEMPLATE
文件夹中。

当我尝试打开新的 PR 时,没有显示任何模板,更不用说在它们之间进行切换了。

似乎模板根本不显示。有解决办法吗?

github pull-request
4个回答
34
投票

您可以创建手动模板选择,这样至少打开 PR 的开发人员可以单击链接来访问各自的模板:

  1. 假设您在

    group_a_template.md
     下有两个模板 
    group_b_template.md
    .github/PULL_REQUEST_TEMPLATE

  2. 使用以下内容创建默认模板

    .github/pull_request_template.md

    Please go to the `Preview` tab and select the appropriate sub-template:
    
    * [Group A](?expand=1&template=group_a_template.md)
    * [Group B](?expand=1&template=group_b_template.md)
    

这样,在 UI 中交互式打开 PR 的人将首先进入默认模板,并可以从“预览”视图中打开各自的目标模板。

不是最优的,但比每次提交 PR 时手动修补 URL 更方便。


7
投票

简短的回答,是的,有一个解决方案。但是,有几个步骤可以实现这一点:

  1. 在根目录中创建
    .github/
    docs/
    目录。
  2. 在其中创建一个名为
    PULL_REQUEST_TEMPLATE
    的目录。
  3. 在此目录中创建任意数量的模板,例如
    template_one.md
    template_two.md
  4. 开始发出拉取请求并附加 URL:“&template=template_one.md”

我的示例 URL 如下所示:

https://github.com/<org>/<repo-name>/compare/main...test-branch?template=template_one.md

enter image description here


4
投票

我也想知道,我尝试过,但似乎不起作用。经过多次测试,似乎

PULL_REQUEST_TEMPLATE
文件夹下的模板默认是不被选中甚至不可选的,只能通过URL参数直接寻址。默认选择的唯一模板是
.github/pull_request_template.md


-1
投票

另一种方法是使用符号链接,如下所示:

cd .github
ln -s PULL_REQUEST_TEMPLATE/pull_request_template.md pull_request_template.md
git add pull_request_template.md
git commit -m "Add symlink to default pull request template"

合并到默认分支后,通过 github.com 创建的任何新拉取请求都将使用链接的模板。

此解决方案解决了存储库中有多个拉取请求模板,但在通过 github.com 创建拉取请求时无法选择其中一个作为“默认”模板的具体问题。

如果您有一个用于标准拉取请求的模板,以及用于特殊情况(例如发布削减)的其他模板,那么它会很有效。如果您也将多个模板与其他应用程序一起使用来创建拉取请求(例如 GitHub Desktop 或 GitKraken),则所有模板都必须位于

PULL_REQUEST_TEMPLATE
目录中才能选择。在这种情况下,仅在此目录之外使用默认模板是行不通的。

© www.soinside.com 2019 - 2024. All rights reserved.