V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
WangLiCha
V2EX  ›  问与答

你们都怎么写 Git 的提交消息?

  •  
  •   WangLiCha · 2019-08-02 17:16:07 +08:00 via Android · 5554 次点击
    这是一个创建于 1926 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司有打算使用 Git 作为代码管理工具,管理员的想法是每次 commit 的时候提交人能写上详细的提交信息,大概像这样:

    提交类型:bug 修复

    修改内容:修复 XXXXXX 的 bug

    修改结果:当 XXXX 时,不再出现 XXXX 的 bug

    我感觉这个提交信息有些过长了……毕竟 GitHub 上的项目都是一行能写完的,然后我们用的 Gogs 的 web 端上默认只显示第一行,但是管理员认为不写这么详细就不便于做质量追溯,而且如果是想单独提交一份更新日志的话无法监督更新日志的内容。

    总之就是,我感觉自己的使用习惯跟管理员都想法挺多矛盾,不知道你们是怎么进行这方面的管理的?

    50 条回复    2019-08-03 16:20:50 +08:00
    dovme
        1
    dovme  
       2019-08-02 17:19:27 +08:00
    :bug fixed
    learningman
        2
    learningman  
       2019-08-02 17:22:19 +08:00
    在单独弄个数据库存文本,commit 里放文本的 id ?
    YIsion
        3
    YIsion  
       2019-08-02 17:22:21 +08:00
    :bug: fix . bug .
    hymxm
        4
    hymxm  
       2019-08-02 17:22:24 +08:00
    不是可以设置模板的嘛
    blankme
        5
    blankme  
       2019-08-02 17:24:53 +08:00 via Android
    第一行加个 title,写你想写的简短信息就好了
    要看一行还是看完整的都能满足
    loshine1992
        6
    loshine1992  
       2019-08-02 17:26:10 +08:00
    gitmoji
    tankren
        7
    tankren  
       2019-08-02 17:28:01 +08:00   ❤️ 1
    请问 v2er 为什么那么喜欢用 迫于????
    seon
        8
    seon  
       2019-08-02 17:30:04 +08:00 via Android
    公司用 gerrit 评审代码,需要按照模板写,大体如下
    问题描述
    问题编号
    问题原因
    解决方案
    评审人
    WangLiCha
        9
    WangLiCha  
    OP
       2019-08-02 17:32:41 +08:00 via Android
    @blankme 哇,你这个方法好
    Lin0936
        10
    Lin0936  
       2019-08-02 17:33:49 +08:00
    一般都会有个 template
    pkookp8
        11
    pkookp8  
       2019-08-02 17:34:08 +08:00 via Android
    bug bugid fixed
    feature id commit
    Sainnhepark
        12
    Sainnhepark  
       2019-08-02 17:34:40 +08:00 via Android
    如果遇到这种情况我会开一个分支,分支里的每一个提交信息都尽量简短,但是合并的时候尽量把 bug 描述清楚
    WhoMercy
        13
    WhoMercy  
       2019-08-02 17:35:53 +08:00
    针对总的任务做一下总结,
    有必要的话,再针对修改的文件做一下备注
    whitev2
        14
    whitev2  
       2019-08-02 17:37:20 +08:00
    联动 bug 管理系统,提交的时候自动填充进去
    zpf124
        15
    zpf124  
       2019-08-02 17:39:33 +08:00   ❤️ 1
    网络上有很多人都推荐 google 的 Angular 提交格式规范, 不知道其他大公司内部有没有别规范.
    https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits


    大概是这个格式.

    ---------------------------

    fix(components/tables): change table attribute typo

    修改了 xxx 的属性名称拼写错误.
    为了解决兼容在接下来的几个版本会依旧保持久的错误写法可用,但会提示警告.
    预计 3 个月后彻底移除拼写错误的版本.

    [issue 275]( http://xxx/xxx/issues/275)
    pipixia
        16
    pipixia  
       2019-08-02 17:42:05 +08:00 via Android
    bug 号
    Felldeadbird
        17
    Felldeadbird  
       2019-08-02 17:42:13 +08:00
    任务下达类,有等级的,则以系统的 ID,如:#1024 任务标题

    临时性的,则 修复 /新增 /删除 XXX
    deepdark
        19
    deepdark  
       2019-08-02 17:47:57 +08:00 via Android
    我一般是 [ bug ] fix #100, add xxx to xxx
    [ feature ] add xxx views/functions
    wunonglin
        20
    wunonglin  
       2019-08-02 17:49:34 +08:00
    no message
    Baymaxbowen
        21
    Baymaxbowen  
       2019-08-02 17:56:26 +08:00
    使用 commit 模版,就是网上推荐的那个
    HuasLeung
        22
    HuasLeung  
       2019-08-02 17:59:10 +08:00 via Android
    no message
    zqx
        23
    zqx  
       2019-08-02 17:59:19 +08:00 via Android
    只有 pull request 才需要写清楚改动和技术方案的细节。commit 只是用于检索每条提交记录的不同,而且 PR 之前也应该合并子分支历史 commit 为一条 commit。
    dttzmm
        24
    dttzmm  
       2019-08-02 19:44:11 +08:00 via Android
    提 bug 或需求都是要有编号的,便于追溯,所以 comment 消息一般规范为单号+空格+故障简述
    Rocka
        25
    Rocka  
       2019-08-02 19:56:09 +08:00
    Conventional Commits
    https://www.conventionalcommits.org
    还可以根据 commit msg 生成 changelog
    mcfog
        26
    mcfog  
       2019-08-02 20:09:53 +08:00 via Android
    拉分支提交一排 wip,pr 前 squash 成一个按规范写

    不过楼主你的这个 commit message 问题不是太长了,而是在没有 issue tracker。应该是 fix #1234 然后自动解析到 issue tracker 里对应内容的 ticket
    zhw2590582
        27
    zhw2590582  
       2019-08-02 20:12:46 +08:00 via iPhone
    Bugfix,反正只有我一个人看
    zachlhb
        28
    zachlhb  
       2019-08-02 20:14:45 +08:00 via Android
    如果是新功能增加,就写增加了什么,如果修复 bug,就写项目管理平台里的 bug id
    weakish
        29
    weakish  
       2019-08-02 20:17:35 +08:00
    管理员要求的修改结果则单独开一个 issue,写在 issue 里。

    剩下的提交类型和修改内容可以并成一行,类型用 angular 风格的前缀或者 gitmoji,

    然后空一行写 close #123 ( 123 为 issue 编号)

    偶尔有额外事项需要说明的,可以在 close 前面写一段简短的说明。
    Trim21
        30
    Trim21  
       2019-08-02 20:21:10 +08:00 via Android
    add new bug (
    avenger
        31
    avenger  
       2019-08-02 20:22:28 +08:00 via iPhone
    wip 😂
    noqwerty
        32
    noqwerty  
       2019-08-02 20:28:51 +08:00 via Android
    commitizen,大大减少了我敲 commit 的时间
    Pythondr
        33
    Pythondr  
       2019-08-02 22:30:32 +08:00 via iPhone
    sepdy
        34
    sepdy  
       2019-08-02 22:39:38 +08:00 via Android
    gitmoji 挺好玩的
    zyzhang
        35
    zyzhang  
       2019-08-02 22:43:31 +08:00
    wbing
        36
    wbing  
       2019-08-02 22:44:01 +08:00 via iPhone
    看到好多人直接 update
    txx
        37
    txx  
       2019-08-02 23:00:23 +08:00
    commitizen +1
    level7in
        38
    level7in  
       2019-08-02 23:03:30 +08:00
    add:xxx
    fix:xxx
    WIP:xxx
    怒发一版!!!
    vibbow
        39
    vibbow  
       2019-08-02 23:04:37 +08:00
    up
    minglanyu
        40
    minglanyu  
       2019-08-02 23:05:20 +08:00 via iPhone
    gcmsg
    windsage
        41
    windsage  
       2019-08-02 23:12:23 +08:00 via Android
    直接有模板的,根据 issue 或者问题单号填
    msg7086
        42
    msg7086  
       2019-08-02 23:13:43 +08:00
    模块,提交类型,简要说明

    详细说明(可选)

    module1: Fix #12345, XYZ is no longer XYZ

    XYZ is fixed as ABC.
    fyibmsd
        43
    fyibmsd  
       2019-08-03 09:17:51 +08:00
    alias push="git add . && git commit -m update && ggpush"
    meow33
        44
    meow33  
       2019-08-03 09:46:09 +08:00
    没错,我就喜欢 update,反正自己一个人看,还在前期开发阶段
    darrenfang
        45
    darrenfang  
       2019-08-03 09:49:42 +08:00
    @tankren #7 去看看交易区
    ZXCDFGTYU
        46
    ZXCDFGTYU  
       2019-08-03 11:42:45 +08:00
    新增了代码或者文件:
    Added:
    1. xxxx

    修改了代码或者文件(包括删除代码,但不包括删除文件):
    Modified:
    1. xxxx

    删除了文件:
    Removed:
    1. xxxx

    修复了某个 Bug:
    Fixed:
    1. xxxx (内容格式:修复了因 xxxx (错误原因)导致的 yyyy (错误表现) bug。#issue:1123 (如果有 issue ))

    每一项都说明清楚了自己干了啥就行。

    这是我个人的习惯。
    LxExExl
        47
    LxExExl  
       2019-08-03 12:30:04 +08:00
    格式不重要 但如果不知所云 要么没人给 review 要么直接打回来重写
    HGladIator
        48
    HGladIator  
       2019-08-03 13:58:57 +08:00
    我定了 git commit message 标准, 但是没人用,我就自暴自弃用 `git commit --allow-empty-message --no-edit `
    我建议是找 GitHub 热门项目看看别人是怎么写的,跟着学就好了
    romisanic
        49
    romisanic  
       2019-08-03 14:07:25 +08:00
    有时候提交的是本次处理完成的事儿
    有时候提交的是本次提交时候的进度
    有时候就是一个 bug fix
    有时候甚至就一个_
    而领导同事们经常只是一个 save
    Antidictator
        50
    Antidictator  
       2019-08-03 16:20:50 +08:00 via iPad
    @tankren 如果没记错的话,是二手节点开始使用的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2748 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:02 · PVG 17:02 · LAX 01:02 · JFK 04:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.