2

我对设置 Github 的复杂功能相当陌生,但我想确保在可以通过我的分支合并拉取请求之前实际构建代码(即功能->开发、开发->发布、发布->主等)。

我找到了一个部分,可以让我确保在合并 PR 之前存在“成功”状态,但我的问题是:

为什么在 Github 中必须先定义一个状态,然后才能从所需的状态上下文列表中选择它?这不是先有鸡的情况吗?

基本上,我转到存储库的“设置”选项卡,单击“分支”,然后在“受保护的分支”下,选择我的分支并单击“编辑”。从那里我选择“合并前需要通过状态检查”的部分。从那里,如果该分支的任何 SHA 没有状态更新,它会告诉我上周没有任何状态更新。为什么我不能在实际必须选择一个之前输入我的状态更新的上下文?如果这是第一次有人推到我的分支怎么办?该代码理论上可以一直通过吗?

4

1 回答 1

3

一个先有鸡还是先有蛋的问题,但并不是一个难以解决的问题。让自己成为一个 github 访问令牌并跟随 curl:

$ curl -XPOST -H "Authorization: token $GITHUB_API_TOKEN" \
       -d '{"state":"success"}' \
       https://api.github.com/repos/<your_username>/<your_repo>/statuses/<latest_sha>

这将创建一个default状态(您可以使用 覆盖context,请参阅文档),您可以返回设置为受保护的分支配置该状态。

于 2017-09-20T03:52:18.463 回答