`
猫耳呀
  • 浏览: 172851 次
社区版块
存档分类
最新评论

Git工程实践(一)巧用commit message

阅读更多
摘要: 大家都知道所有的版本控制系统比如svn,git等设计的核心价值之一就是为了让代码变更有迹可循,而commit mesage的价值在于让有迹可循的代码对人类更加友好,通常一个恰如其分的commit message表达的信息往往先于代码。
 
背景
 
大家都知道所有的版本控制系统比如svn,git等设计的核心价值之一就是为了让代码变更有迹可循,而commit mesage的价值在于让有迹可循的代码对人类更加友好,通常一个恰如其分的commit message表达的信息往往先于代码。
 
而现实的工程实践中,尤其是大型分布式协作的团队,因开发成员背景、习惯、经验多差异性,commit message的风格参差不齐。
 
那么有没有优雅而简单方式将commit message按照工程标准来落地呢?
下面分享一个git commit message的实践,其核心是通过git commit template标准化comments,希望可以抛砖引玉。
 
配置commit message template
 
通过配置相同的git commit template & markdown syntax 来标准化git message。步骤如下:
 
  1. 进入~/ 目录,新增__.gitmessage, 内容如下:__
 
brief introduction. #brief introdction 必填,概要描述变更内容。 #change item list 选填,针对变更不同模块/业务进行分条描述,使用markdown语法。 #demo #add xxx open api. #- add xxx api. #- add xxx api. #- add xxx api.
 
2.编辑.gitconfig文件,新增.gitmessage模版配置。
[commit]
template = ~/.gitmessage
 
后续在提交代码时候(使用git commit没有指定-m参数)git message将会自动按照模版格式生成。效果如下:
 
实践建议
 
  • 正式的commit尽量不要使用 git commit -m指定message信息,避免生成的git log可读性差。
  • commit message 格式优先使用markdown格式,生成的格式将更优雅,通过git log查看可读性更佳。
  • 较大feature发布,git message尽可能丰富,通过概要+变更列表的格式表达,如上图。
  • commit mesaage尽量使用英文。
 
一些思考
 
  • 自动化视角,通过git commit template 自动生成comments模版的方式,可以在一定程度减少漏填AoneID的情况,同时可以提升commit message质量,如果要实现严格管控可以增加githook在checkin之前增加校验,或者接入持续集成在静态检测阶段校验git commit log的有效性。
  • 工程视角,git comment, code comment即代码,应该以标准优雅的方式在团队传承。
 
阅读更多干货好文,请关注扫描以下二维码:
 
分享到:
评论

相关推荐

    idea git commit插件

    idea commit 模板插件

    How to Write a Git Commit Message

    - 利用诸如`git commit --amend`或提交钩子等工具帮助优化提交过程。 通过遵循上述规则和技巧,你可以显著提高自己的提交消息质量,从而更好地与团队成员沟通并维护项目的历史记录。优秀的提交消息不仅能够提升...

    leetcode2-git-commit-message-helper:一个帮助git代码提交规范的JetBrains系列插件,支持IDEA、

    git-commit-message-helper 本插件是源idea插件的升级版,增加了一系列个性化配置。 安装 直接从 IDE 插件管理器安装(文件 > 设置 > 插件 > 浏览器存储库 > Git Commit Message Helper) 用法 如果要更改提交类型,...

    Git Commit 规范1

    Git Commit 规范是软件开发过程中非常重要的一个环节,它有助于保持代码库的整洁和历史记录的可读性。在Git中,一个良好的Commit消息能够清晰地表达每次提交的目的和内容,使得团队成员能快速理解代码变更,这对于...

    swift-CommitMessageEditor一个小巧快速的commit消息编辑器

    Swift Commit Message Editor是一款专为Git提交消息编辑设计的轻量级工具,它旨在提供一个高效且用户友好的界面,帮助开发者快速、规范地编写commit消息。这款应用是用Swift编程语言开发的,充分展示了Swift在构建UI...

    git使用全程实践

    要将新文件纳入版本控制,可以使用 `git add` 命令,接着使用 `git commit -m "commit message"` 提交更改。通过 `git log` 命令可以查看提交历史,这对于追踪项目变更非常有用。 分支管理是 Git 的亮点之一。创建...

    vscode-commit-message-editor:以方便的方式编辑提交消息

    提交消息编辑器 以方便的方式编辑提交消息。 特征 从最近的提交中选择一个较早的提交消息 编辑表单中的提交消息 可定制的常规提交消息模板 可自定义的表单字段 修改最后的提交信息 ... commit-message-e

    git命令学习并实践总结

    - `git commit -m "Commit message"`: 创建一个新的提交,并添加提交消息。 - **查看提交历史**: - `git log`: 显示所有提交历史。 - `git log --oneline`: 以一行的形式简洁地显示提交历史。 - `git log --...

    IDEA插件用于模板化生成commit message和检查相关内容是否符合要求

    在现代软件开发中,代码版本控制是不可或缺的一部分,而Git作为目前使用最广泛的版本控制系统之一,其commit message(提交信息)对于代码版本的管理和团队协作起着至关重要的作用。良好的commit message不仅能让...

    vscode-git-commit

    VSCode git commit是一个VSCode扩展,用于创建带有表情符号和前缀的精美提交消息。 那是第一个版本:P 如何使用它 ? 使用ctrl+alt+enter (在Mac上为cmd+shift+enter )或click SouceControl中的图标 设定值 1....

    学习git和gitbash使用的一些详细操作

    - 提交更改:`git commit -m "commit message"`命令将暂存区的更改正式保存到仓库历史记录中。 - 查看状态:`git status`显示当前工作区和暂存区的状态,是否有文件被修改或新添加。 - 查看差异:`git diff`用于查看...

    git修改已commit的注释信息实现

    修改完成后,你可以使用`git log`命令查看最近的commit,确认其message是否已经更新为新的描述。 值得注意的是,如果你有多次连续的commit,并且希望合并这些commit或者修改它们的顺序,可以使用`git rebase -i ...

    自己做的git笔记分享。

    - **删除文件**:使用`rm`命令删除文件,然后使用`git add`和`git commit`将删除操作提交到仓库中。 ```shell rm 文件名 git add 文件名 git commit -m "删除文件" ``` - **恢复文件**:如果文件被错误删除,...

    git安装压缩包下载1

    - 当多个用户修改同一部分代码时,Git会提示冲突,需要手动编辑冲突文件并解决差异,然后使用`git add`和`git commit`提交解决后的结果。 **7. 版本回退** - `git log` 查看提交历史,找到要回退到的版本的SHA...

    GitEmoji- emoji for git commit message-crx插件

    语言:English (United States) 表情符号的git commit消息 提交消息的表情符号指南。 它只是https://gitmoji.carloscuesta.me/的Chrome扩展版本

    git-commit-lint-vscode:vscode一款git 规范化提交插件

    在日常的开发中,目前主流的代码管理工具就是 git 了,当我们对代码进行改动了,首先得git commit提交到本地仓库,git 规定了提交时必须填写提交信息作为改动说明,保存 commit 历史中,可以找到历史代码,也方便他人 ...

    validate-commit-message:GIT COMMIT-MSG挂钩,用于验证提交消息

    $ npm install validate-commit-message 用法 您可以从项目的命令行激活挂钩。 $ node ./node_modules/.bin/validate-commit-msg 一种更一致的方法是在package.json添加一个脚本。 "scripts": { "init": ...

    Git简单使用.pdf

    3. 使用`git commit -v`在提交时显示所有差异信息(diffs),而`git commit --amend -m "[message]"`用于使用新的提交替换上一次提交。 4. 如果上一次提交后没有新的更改,但需要修改提交信息,可以使用`git commit ...

    git-flow.pptx

    3. 避免一直使用一个 branch:建议分支随用随开,合并后随时关闭,保持分支干净。 4. 统一 commit message 风格:建议统一 commit message 的风格,例如使用英文句子或中文句子。 结论 Git Flow 是一种非常实用的 ...

Global site tag (gtag.js) - Google Analytics