排除规则集故障
如果您在仓库中无法执行某个操作并想了解原因,您可以查看针对您正在使用的分支或标签的活动规则集。更多信息请参见 管理仓库的规则集。
根据激活的规则,您可能需要在本地编辑提交历史,然后才能将提交推送到远程分支。例如,如果某分支要求提交必须签名,您可以更新签名设置,然后在本地分支上使用交互式变基(interactive rebase)将 Git 历史重写为已签名的提交。更多信息请参见 规则集可用规则 和 在命令行使用 Git 变基。
如果分支或标签受到限制提交元数据的规则影响,当提交的某些元数据不符合特定模式时,提交可能会被拒绝。例如,您可能需要在提交信息开头添加问题编号,或更改您尝试推送到仓库的新分支或标签的名称。如果提交被拒绝,您会看到一条指明相应元数据应匹配的模式的消息。与签名提交类似,您可能需要执行变基来压缩提交或逐个重写提交。更多信息请参见 规则集可用规则。
在使用推送规则集时,每次推送最多允许 1000 次引用更新。如果您的推送超过此限制,将被拒绝。更多信息请参见 为仓库创建规则集。
此外,推送规则集同样适用于 REST API 中的 “Create a blob”(创建 Blob)、“Create a tree”(创建树) 和 “Create or update file contents”(创建或更新文件内容) 接口。请参阅 Git Blob 的 REST API 端点、Git Tree 的 REST API 端点 与 仓库内容的 REST API 端点。
排除强制状态检查的故障
定义状态检查时,名称格式取决于检查类型
- Workflow: The name format is
<job name>. - Reusable workflow: The name format is
<job name> / <reusable job name>. - Other checks: The name format is
<check name>.
强制状态检查不考虑工作流、矩阵或事件触发类型。