开发者社区 > 云效DevOps > 正文

云效的代码仓库推送规则设置配置了 (^)(feat|fix):\s(.|$) 提交格式为git c

问题描述

云效的代码仓库推送规则设置配置了 (^)(feat|fix):\s(.|$)  提交格式为git commit -m "feat: 提交",却提交不上,一直报推送规则检查不通过!提交注释不符合正则表达式

期望结果

正则表达式能按照下面格式正常提交

//提交格式为 (scope?):  /*  * @Description: commit-msg提交信息格式规范  *  * commit-msg格式: (scope?):   *   - type: 用于表明我们这次提交的改动类型,是新增了功能?还是修改了测试代码?又或者是更新了文档?  *     - build: 编译相关的修改,例如发布版本、对项目构建或者依赖的改动  *     - chore: 其他修改, 比如改变构建流程、或者增加依赖库、工具等  *     - ci: 持续集成修改  *     - docs: 文档修改  *     - feat: 新特性、新功能  *     - fix: 修改bug  *     - perf: 优化相关,比如提升性能、体验  *     - refactor: 代码重构  *     - revert: 回滚到上一个版本  *     - style: 代码格式修改, 注意不是 css 修改  *     - test: 测试用例修改  *   - scope:一个可选的修改范围。用于标识此次提交主要涉及到代码中哪个模块。  *   - Subject:一句话描述此次提交的主要内容,做到言简意赅  */

已尝试的方法

...

展开
收起
1104828288667473 2022-12-30 15:36:37 262 0
1 条回答
写回答
取消 提交回答
  • 问题总能找到解决方案的

    正则如下:

    (?i)(\W|^)(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(.*)?(:)(.)+(\W|$)

    可成功提交的注释如下:

    fix scope:subject for this fixbuild:subject for this building

    不可成功提交的注释如下:

    fix some bugstest:

    需要注意的是,如果有一次注释出错后,您需要将错误的提交注释全部修改正确后才可以提交成功,因为在push的时候,检查的是每一个注释而不是最后一个注释。

    1. 修改最后一次注释
    git commit --amend

    将红框内的注释更正为匹配正则的后,退出保存即可。

    1. 修改多次注释

    比如 commit 两次,那么可参考以下步骤进行修改:

    #数字 n 可以换成你需要修改的提交次数,代表倒数第几次修改git rebase -i HEAD~n#本示例则为git rebase -i HEAD~2

    将需要修改的注释前面的 pick 修改为 edit ,可同时在一次修改多条,修改后保存退出。

    接着反复执行以下这组命令,直到所有修改 edit 的注释都修改完:

    #以下命令表示一次注释修改git commit --amend git rebase --continue

    再次 push 即可。

    2022-12-30 18:42:37
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

相关电子书

更多
新一代高效Git协同模型 立即下载
AGit-Flow:新一代高效Git协同模型 立即下载
AGit-flow:新一代高效Git协同模型 立即下载