大家所在的公司有 commit message 规范吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
zhoudaiyu
V2EX    git

大家所在的公司有 commit message 规范吗?

  •  
  •   zhoudaiyu
    PRO
    2021-02-08 13:04:21 +08:00 via iPhone 10098 次点击
    这是一个创建于 1710 天前的主题,其中的信息可能已经有所发展或是发生改变。

    听说有的公司对 commit message 还有检测,不通过不许提交代码,惊到我了,我都是 bugfix feat minor 随便写几行就完了。

    84 条回复    2021-02-18 13:39:36 +08:00
    mandex
        1
    mandex  
       2021-02-08 13:08:52 +08:00
    我见过不少写 1/2/3 的,瞎写
    sfz97308
        2
    sfz97308  
       2021-02-08 13:10:34 +08:00
    有,必须以 ticket 编号开头,并且会自动检查 ticket 状态,不符合的会拒绝 push
    killergun
        3
    killergun  
       2021-02-08 13:15:24 +08:00
    没有
    freebird1994
        4
    freebird1994  
       2021-02-08 13:18:25 +08:00 via Android   1
    之前公司必须 issue#taskNo: 提交信息这种
    seki
        5
    seki  
       2021-02-08 13:25:08 +08:00
    直接 squash merge,随便你怎么写 commit message 都不会显示在 master (
    konakona
        6
    konakona  
       2021-02-08 13:25:32 +08:00
    有什么自动检测提交是否合规的办法吗?(工具化)

    我也很头疼有人 commit message 是“1” 、“up”这种。
    wolfie
        7
    wolfie  
       2021-02-08 13:27:17 +08:00
    @freebird1994 #4
    bug 直接提在代码托管的 issue 里?
    37Y37
        8
    37Y37  
       2021-02-08 13:29:18 +08:00
    还真的有,这个很正常吧,统一的 message 有助于协作,尤其是合并的时候
    hillMonkey
        9
    hillMonkey  
       2021-02-08 13:29:45 +08:00
    commit mesage 没有,PR title 有。
    Rwing
        10
    Rwing  
       2021-02-08 13:30:35 +08:00
    Sivan
        11
    Sivan  
       2021-02-08 13:30:35 +08:00   1
    这个很常见啊,一般用 Angular Commit Format 结合提交前检查,可以一定程度上约束。
    37Y37
        12
    37Y37  
       2021-02-08 13:30:39 +08:00
    @konakona hook 就可以实现,看这个 https://blog.ops-coffee.cn/s/xjlojmj9gtbfgnpwn_yu2a
    介绍的事 svn 的 hook,git 的也一样有类似的
    chenliangngng
        13
    chenliangngng  
       2021-02-08 13:31:03 +08:00 via Android
    看看 github 的提交规范吧,我们公司就是这种,我觉得很合理/div>
    cjw1115
        14
    cjw1115  
       2021-02-08 13:33:46 +08:00
    [XXX] XXXXXXXXXXXXX
    lc7029
        15
    lc7029  
       2021-02-08 13:43:09 +08:00
    @konakona 我们用的 svn-hook,大概是有个 xml 文件里有各种规范,提交时按这个 xml 检查,合规才接受提交。
    acrisliu
        16
    acrisliu  
       2021-02-08 13:45:19 +08:00 via Android
    有规范,commit message 中要关联 jira,不符合 push 会失败。
    Tonni
        17
    Tonni  
       2021-02-08 13:50:23 +08:00
    有规范的,不过没有做自动检查,全靠自觉
    limuyan44
        18
    limuyan44  
       2021-02-08 14:01:43 +08:00 via Android
    提交记录一堆 123456fixfixfix 能看么,要 git 干嘛。
    johnsona
        19
    johnsona  
       2021-02-08 14:42:09 +08:00 via iPhone
    @sfz97308 我怀疑你们用 jira
    gaoshiba
        20
    gaoshiba  
       2021-02-08 15:13:01 +08:00   1
    反正领导不看,那里面都是垃圾话,或者“今天真累啊,晚上去吃 xxx 吧” push!!
    jdhao
        21
    jdhao  
       2021-02-08 15:25:31 +08:00 via Android
    没有,因为不重视,很多人都只写 update
    yuruizhe
        22
    yuruizhe  
       2021-02-08 15:49:45 +08:00
    有,commit 前要新建事务卡片,卡片 id 不存在不能 commit
    codadrnosing
        23
    codadrnosing  
       2021-02-08 15:55:41 +08:00
    @gaoshiba 哈哈哈越看越馋的 History
    proger
        24
    proger  
       2021-02-08 16:09:53 +08:00
    #<issue> feat: xxxxxxxx 描述
    amundsen
        25
    amundsen  
       2021-02-08 16:15:59 +08:00
    有的,用 husky+gitlint 规范
    varrily
        26
    varrily  
       2021-02-08 16:23:57 +08:00
    [JIRA-ID|no-jira] (fix|feature|chore): do something
    katana97
        27
    katana97  
       2021-02-08 16:52:24 +08:00
    "no message"
    weizhen199
        28
    weizhen199  
       2021-02-08 16:59:49 +08:00
    可以在 svn server 里上 hook,自定义格式要求
    tongyang
        29
    tongyang  
       2021-02-08 18:07:08 +08:00   1
    有的代码格式不行都不让提交必须格式化
    luckyrayyy
        30
    luckyrayyy  
       2021-02-08 18:09:28 +08:00
    有的,我们是类别+项目+说明+CR,比如:bufix(account):fix account bind error 。http://gitlab.com/mergerequest/xxx
    learningman
        31
    learningman  
       2021-02-08 18:13:01 +08:00
    action(scope): short description

    long description

    Signed-off
    Elethom
        32
    Elethom  
       2021-02-08 18:14:14 +08:00   2
    什么叫「惊到」了,lint 很正常,没有 lint 也要遵守特定的成文规范,没有这些的公司 HR 是怎么招的人。
    Heartbleed
        33
    Heartbleed  
       2021-02-08 18:17:30 +08:00 via Android
    有的,要写任务编号,问题原因等等。。
    Elethom
        34
    Elethom  
       2021-02-08 18:17:49 +08:00   4
    这篇是我一直推荐阅读的:
    https://chris.beams.io/posts/git-commit/
    a1248499257
        35
    a1248499257  
       2021-02-08 18:20:14 +08:00
    我司是自觉遵循 Angular 的 commit message 规范
    chiu
        36
    chiu  
       2021-02-08 18:21:39 +08:00 via Android
    各个 team 各个 team 的规范
    AEDaydreamer
        37
    AEDaydreamer  
       2021-02-08 20:10:30 +08:00
    没有,但是我尽量保证自己的 commit 符合一些通用规范
    yolee599
        38
    yolee599  
       2021-02-08 21:13:00 +08:00 via Android
    公司没有,自己定了一套,fix: xxxxx,feat: xxxxx,style: xxxxx
    alanhe421
        39
    alanhe421  
       2021-02-08 22:11:00 +08:00
    需要规范化
    1. 有助于生成 CHANGELOG,及版本管理。
    2. 有助于问题追溯,版本还原等
    NoKey
        40
    NoKey  
       2021-02-08 22:15:57 +08:00
    用 gerrit 的话,很对都有规则,不符合规则合并不了
    imdong
        41
    imdong  
       2021-02-08 22:47:23 +08:00 via iPhone   2
    正确使用 git,代码规范算不算程序员的职业道德的一部分?
    zerofancy
        42
    zerofancy  
       2021-02-09 01:06:28 +08:00
    有规范,但不做强制检查
    molvqingtai
        43
    molvqingtai  
       2021-02-09 01:42:30 +08:00 via Android
    有配 commitlint
    imycc
        44
    imycc  
       2021-02-09 01:51:36 +08:00
    原团队比较规范,但也仅限于“提倡”。一些技术好的,也是直接一句“update”,看得我头疼。

    后面也是三十多人的团队了,直到我离职前才有人负责做 git hook 来检查,最后还没推广出去,那人也离职了 hhhh
    wnpllrzodiac
        45
    wnpllrzodiac  
       2021-02-09 08:09:19 +08:00 via Android
    从来就没一家规范过。。。
    Hurriance
        46
    Hurriance  
       2021-02-09 08:32:53 +08:00 via iPhone
    @yolee599 我也是这样的,哈哈
    imdong
        47
    imdong  
       2021-02-09 08:38:56 +08:00 via iPhone   3
    这是我上周某天的 git 提交说明:

    完成 备忘录相关功能与路由
    修正 发布 text 日记时 resource 为空时的错误
    添加 清单仅保存标题的逻辑
    调整 清单数据按照添加时间升序排序
    修正 非女性时获取不到另一半的记录
    调整 resource 找不到资源时独立的错误
    修正 保存头像时 avatar_preset 不能为空的问题
    添加 清单记录软删除
    移除 清单暂存功能(逻辑有冲突,移至本地保存)
    添加 清单详情添加是否已经提醒字段
    调整 保存提醒的具体时间
    添加 清单提醒合作者
    添加 检查某人情况完成状态
    添加 提醒打卡的消息对象
    添加 清单异常类
    调整 日记筛选条件可以为逗号分隔的字符串
    修正 时间戳中日期验证的格式错误
    调整 纪念日可选时间区间
    inhzus
        48
    inhzus  
       2021-02-09 08:42:11 +08:00 via iPhone
    必须关联需求 id,形如 to #12345678: fix xxx
    sazima
        49
    sazima  
       2021-02-09 08:54:27 +08:00
    靠自觉
    vinceall
        50
    vinceall  
       2021-02-09 09:06:27 +08:00 via Android
    有,但没强制,我一般按规范来,毕竟方便回看,不过看到别人提交最多的是 temp,哈哈哈
    lipcao
        51/span>
    lipcao  
       2021-02-09 09:19:02 +08:00
    idea 有模版插件,我们用的模版插件
    wangyzj
        52
    wangyzj  
       2021-02-09 09:29:17 +08:00
    必须要有
    Rache1
        53
    Rache1  
       2021-02-09 09:31:50 +08:00
    commit 没有,但是有想过通过命令行给 提交命令加 alias 的方式加上 ticket,一般都是描述干了啥
    Ranying
        54
    Ranying  
       2021-02-09 09:37:44 +08:00
    commit message 不是应该配着任务规划或者甘特图之类的写吗
    dddd1919
        55
    dddd1919  
       2021-02-09 09:49:09 +08:00
    如果有项目管理工具的话,以项目生成的 ID 开头
    sth2018
        56
    sth2018  
       2021-02-09 10:18:09 +08:00
    公司没有,但是自己会简单的写一下修复了啥啥啥 新增了啥啥啥 修改了禅道 bug 号多少多少
    方便以后追溯问题
    shiji
        57
    shiji  
       2021-02-09 10:19:50 +08:00 via iPhone
    有 主要是前面要写好 jira 号码,后面随便写。 是服务器自动验证的。为了和 jira 整合
    yangbin9317
        58
    yangbin9317  
       2021-02-09 10:34:54 +08:00
    update
    up
    fix
    up
    xxxxxxx
    up
    :w
    up up
    kamilic
        59
    kamilic  
       2021-02-09 10:37:00 +08:00
    有,但禁不住有人 「 fix: fix bug 」 系列提交
    这些检测只是用于提醒对方忘了做什么事情,但是不能让有意想绕过的人修正自己的行为
    zhchbin
        60
    zhchbin  
       2021-02-09 10:59:00 +08:00
    @acrisliu

    请问一下具体是如何实现拒绝 push 的?是用 pre-commit hook 吗?
    acrisliu
        61
    acrisliu  
       2021-02-09 11:06:28 +08:00   1
    yikyo
        62
    yikyo  
       2021-02-09 11:24:07 +08:00
    前端有 commitlint
    pkookp8
        63
    pkookp8  
       2021-02-09 12:20:25 +08:00 via Android
    svn 有 hook,少一个冒号就不给提交
    最近公司在切 git,看到有 hook 的脚本,没仔细研究原理,应该也有类似实现
    jiangbingo
        64
    jiangbingo  
       2021-02-09 13:18:04 +08:00
    [feature id] add / test function
    1. xxx
    2. xxx
    or
    [bug id] xxx
    Thecxx
        65
    Thecxx  
       2021-02-09 15:14:24 +08:00
    要求 commit message 必须有意义,版本迭代需要有规范的 changelog
    edotac
        66
    edotac      2021-02-09 15:30:06 +08:00
    git config --global commit.template 配置个模板,每次选填就完事了
    alleluya
        67
    alleluya  
       2021-02-09 15:58:19 +08:00
    我们这新来一小姑娘 commit 写 aaaaa 我说你 commit 不能写无意义的 message 不会写英文 中文的也可以(公司大佬之前要求 commit 都要用英文写) 结果人家写的是汉语拼音.....
    leonme
        68
    leonme  
       2021-02-09 16:03:19 +08:00 via iPhone
    必须有 icafe 单号,不然提不上去
    zhuweiyou
        69
    zhuweiyou  
       2021-02-09 16:26:01 +08:00
    一律: update
    js8510
        70
    js8510  
       2021-02-09 17:09:25 +08:00 via Android
    我都很规范的。title, summary, test plan 尤其 test plan 1 2 3 如何复现等等等等。commit msg 写的好基本就是文档。以后查起来很方便。别人紧急 revert 也不用把你半夜叫起来。我司倒是很少 aaa 的,太夸张了,至少有个 title. 我要是简单直接 request change
    bleaker
        71
    bleaker  
       2021-02-09 19:06:13 +08:00
    带 issue/ticket 号,必须有主谓宾
    linshenqi
        72
    linshenqi  
       2021-02-09 19:39:14 +08:00
    暂没有,现在还是写成:
    1...
    2...
    3...
    受以前 chrome 代码影响
    mghio
        73
    mghio  
       2021-02-09 22:44:31 +08:00
    我司一般有个前缀描述下提交的类型:

    feat: 添加新特性
    fix: 修复 bug
    docs: 文档修改
    style: 代码格式修改,空格、格式缩进等等,不改变代码逻辑
    refactor: 代码重构
    perf: 提高性能的代码更改
    test: 增加或修改测试用例
    chore: 其他修改,改变构建流程、或者增加依赖库、工具等
    shellic
        74
    shellic  
       2021-02-10 07:56:32 +08:00 via Android
    @mghio 哈哈,我们团队也是这样,感觉这东西只要团队成员统一一个规范就好
    cirzear
        75
    cirzear  
       2021-02-10 10:03:05 +08:00
    没有。除非出了问题,有人会在群里说一下:)
    fulinlin9527
        76
    fulinlin9527  
       2021-02-10 10:11:36 +08:00 via Android
    我为团队提交正规点,弄了个 idea 插件 Git Commit Message Helper 然后大家虽然格式规范了,但是提交消息的质量还是很差
    Lemeng
        77
    Lemeng  
       2021-02-10 11:53:22 +08:00
    必须要有
    huang7230468
        78
    huang7230468  
       2021-02-10 14:44:11 +08:00
    <feature> ...
    <hotifx> ...
    <refactor> ...
    <test> ...
    <doc> ...
    fordawn
        79
    fordawn  
       2021-02-10 15:37:01 +08:00
    有次查问题,去看了下另一个项目的提交记录,一眼望去,全是 update 和 fix,差点疯了。我每次提交写记录,rebase,有个啥用。
    KINGOD
        80
    KINGOD  
       2021-02-10 16:56:46 +08:00
    这个肯定有呀,参见 .git/hooks/commit-msg.sample 。至少用 Gerrit 的肯定会有一份本地的 commit-msg 生成 Change-Id 。

    然后 Gerrit 上会检测 Jira key 、Jira issue status 、first line char num 、blank line then at least two line description…… 等等好多
    barfi1316
        81
    barfi1316  
       2021-02-11 16:59:57 +08:00
    @fordawn 得开发人员素质高啊
    oukichi
        82
    oukichi  
       2021-02-11 17:23:30 +08:00 via iPhone
    @sfz97308 老哥莫不是在菊厂哈哈
    DiamondYuan
        83
    DiamondYuan  
       2021-02-13 09:48:57 +08:00 via iPhone
    福报厂

    没有,我一般用 emoji
    wr516516
        84
    wr516516  
       2021-02-18 13:39:36 +08:00
    @DiamondYuan 以前公司用华为云的代码托管,emoji 还会引起分支异常
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2659 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 15:20 PVG 23:20 LAX 08:20 JFK 11:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86