如何在 Git 书写良好的 Commit Messages
如何在 Git 书写良好的 Commit Messages
Why
A diff will tell you what changed, but only the commit message can properly tell you why
良好的 Messages 可以告诉人们变更的原因,更好高效地理解几个月前甚至几年前发生的事情。
- 风格的一致性:语法,大小写,行距,标点符号等;
- 内容:该提交的信息和不该提交的信息;
- 元数据:清晰可追踪;
How
- 首行:以少于 50 个字符(25个汉字)的单行开始且简要地描述变更;
- 首字母大写;
- 不以句号 (period) 结尾;
- 使用祈使语气,如
Add new object;
- 空白行:将前后分隔开;
- 解释部分:对所作变动更详细的解释
- 与之前行为的对比,如使用“Fix bug”而非“Fixed bug”或“Fixes bug”;
- 72 个字符的时候手动换行;
- 说明是什么 (what) 以及为什么 (why),不用说明这么操作的原理 (how);
- Explain what and why vs. how
如何在 Git 书写良好的 Commit Messages的更多相关文章
- 如何写好 Git commit messages
导语:任何软件项目都是一个协作项目,它至少需要2个开发人员参与,当原始的开发人员将项目开发几个星期或者几个月之后,项目步入正规.不过他们或者后续的开发人员仍然需要经常提交一些代码去修复bug或者实现新 ...
- 如何在Git中撤销一切 | 干货
翻译:李伟 审校:张帆 译自:Github JF杰微刊:如何在Git中撤销一切 任何一个版本控制系统中,最有用的特性之一莫过于 "撤销(undo)"操作.在Git中,"撤 ...
- [Git] Undo my last commit and split it into two separate ones
When you accidentally committed some changes to your branch you have various possibilities to “undo” ...
- [转]如何在 Git 里撤销(几乎)任何操作
任何版本控制系统的一个最有的用特性就是“撤销 (undo)”你的错误操作的能力.在 Git 里,“撤销” 蕴含了不少略有差别的功能. 当你进行一次新的提交的时候,Git 会保存你代码库在那个特定时间点 ...
- 【转】如何在Git中撤销一切
翻译:李伟 审校:张帆译自:Github 任何一个版本控制系统中,最有用的特性之一莫过于 “撤销(undo)”操作.在Git中,“撤销”有很多种含义. 当你完成了一次新的提交(commit),Git会 ...
- git cherry-pick合并某个commit
1.使用方法及其作用 git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作(操作的对象是commit).例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开 ...
- svn迁移到git仓库并保留commit历史记录
svn迁移到git仓库并保留commit历史记录 最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制.最简单的方式是将svn的内容export出来,然后添加到gitlab即可.但是,如 ...
- git中手动删除的文件如何在git中删除
在日常开发中,我们可能或手动删除(delete键删除的)一些文件,然而我们本来应该是用git rm fileName命令删除的,但是现在我们手动删除了,那么要如何在git里面讲那些手动删除的文件删除呢 ...
- git 对比两个commit 之间的差异
git 对比两个commit 之间的差异 比较两个版本之间的差异 git diff commit-id-1 commit-id-2 > d:/diff.txt 结果文件diff.txt中: &q ...
- Git合并最近的commit
合并commit的做法一般用在pull request的时候,把开发同一功能时的所有琐碎的commit合并到一个(假装自己的代码是高质量代码(手动滑稽)).主要使用的命令是git rebase 或者g ...
随机推荐
- ANOSIM分析
ANOSIM分析(analysis of similarities)即相似性分析,主要用于分析高维数据组间相似性,为数据间差异显著性评价提供依据.在一些高维数据分析中,需要使用PCA.PCoA.NMD ...
- Ubuntu 16.04 配置Windows 远程桌面(RDP & Unity Desktop)
网上大多数方法安装完成后不是连不上就是花屏或者桌面环境变了,本方法可以解决以上问题. 一键配置脚本: 运行前chmod +x xrdp-installer-1.2.2.sh 添加权限,执行时不需要ro ...
- .NET 窗口置于最顶层
本文介绍如何将窗口置于最顶层,以及解决在顶层显示时对锁屏登录界面的影响 一般情况下的窗口置顶,可以设置WPF窗口属性Topmost=true 也可以使用WIN32-SetWindowPos函数SetW ...
- python基础学习4
打开文件的方式 # 第一种 f = open('C:\project\pycharmprojects\\bigdata33\day05/cars.csv', mode='r', encoding='U ...
- github-链接地址
------------------------------------------------------ https://github.com/seata https://github.com/a ...
- 阿里云开启ssl证书过程记录 NGINX
作者简介:大家好,我是思无邪,2024 毕业生,某厂 Go 开发工程师.. 我的网站:https://www.yishanicode.top/ ,持续更新,希望对你有帮助. 如果文章或网站知识点有错误 ...
- Vue获取DOM,数据监听,组件,混合和插槽
Vue获取DOM,数据监听,组件,混合和插槽 注:":" 是指令 "v-bind"的缩写,"@"是指令"v-on"的缩写 ...
- 硬件设计:逻辑电平--差分信号(PECL、LVDS、CML)电平匹配
参考资料:逻辑电平设计规范 PECL电平匹配设计指南 CML信号与LVPECL信号的连接 硬件设计:逻辑电平--CML 硬件设计:逻辑电平--ECL/PECL/LVPECL 硬件设计:逻辑电平--LV ...
- macOS安装软件过程中常见几种报错的解决办法
对于刚使用 macOS 或者在更新系统后尝试运行应用时遇到问题的用户,可能会看到以下几种错误提示: xxx已损坏,无法打开,你应该将它移到废纸篓 打不开 xxx,因为它来自身份不明的开发者 打不开xx ...
- 概率学习(Genshin中)
目前待补充:停时定理的部分例题. 定义 首先定义样本空间 \(\Omega\),是所有样本点(结果)的集合. 随机事件 \(A\) 是样本空间的子集. 定义事件和为事件并,积为事件交. 事件域 \(\ ...