通过GitHub Web UI进行挤压合并时,如何强制执行提交消息策略



我们确实有一个提交挂钩来强制执行遵循常规配置的消息:

软件包.json

"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
"pre-commit": "yarn format:check",
"pre-push": "yarn run test"
}
},
"commitlint": {
"extends": [
"@commitlint/config-conventional"
],
"rules": {
"scope-case": [
0,
"always",
"pascal-case"
]
}
},

然而,如果我将PR与挤压策略合并(通过github web ui(,那么可能会因为这里没有执行该策略而偷偷传入提交消息:

feat: [TICKET-209] add completion tests
Added build instructions to README.md <-- Added via squash
feat: [TICKET-208] improve tests

GitHub历史的这一部分是通过挤压添加第二行的结果,因此没有被检查/拒绝。

有没有一个解决方案可以拒绝在github web ui上通过挤压添加的无效提交消息?

如果您的首要任务是确保没有提交进入没有正确格式的主分支,那么"合并队列+Github检查提交消息的操作;可能会解决此问题:https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue(注意此功能处于公测阶段(

最新更新