前言
规范的注释方便自己进行合并、撤消、回退。当代码有几十个分支,有成千上万条提交时,你随时可能面临着合并分支,回退代码,舍弃代码,对比代码,复制历史记录中有用的代码片段等等。如果仅靠千篇一律的注释,是很难从快速从注释中提取有用的信息,并且会遇到选择困难,不知道要合并哪个点,不知道要回退到哪里等。而传统的tag是用来记录大版本号,或发布时使用的。
注释格式
[标签]:[注释内容]
标签的作用是快速识别和判断出当前提交的内容的作用。
常用标签
init: 初始化项目
add: 添加用户注册功能
update: 注册时收集用户地址
flare: 本次提交亮点,添加用户彩蛋
done: 完成用户注册
fix: 用户输入昵称有去除空格
feature: 实现用户注册功能,修复所有问题,并通过测试
ban: 禁用实名认证
delete: 删除收集用户地址功能
reset: 弃用用户评论功能,并进行强制回退处理
Screen Shot 2019-08-03 at 00.47.29.png
常用标签的作用解释
init: 初始化项目
可以作为脚手架,模板项目的起点。即,当我想新建一个跟当前项目差不多的项目时,我可以复制本项目,并强制回退到这个init节点。也可以作用刚开始创建项目时,随时清空重来的节点。一般只有一个。
add: 添加用户注册功能
每当首次添加一个新功能时,无论这次添加已经做了多少,甚至你都已经完成了这个新功能的80%的代码,你都应该添加add
。表明这个功能是当前节点新增的,以前的提交中肯定没有。那么当我想要丢弃这个功能时,我只要选择此节点的前一个节点回退,就可以完全丢弃这个功能。add
就相当于一个功能的分界点。
update: 注册时收集用户地址
当一个功能已经add
过,开始写了,那么这个功能之后的所有代码提交,都叫更新update
flare: 本次提交亮点,添加用户彩蛋
这个可以在任意更新时出现,表明自己完成了一个很有意思,很有闪光点,亮点的功能或代码。以便引起自己或他人的重视或注视。
done: 完成用户注册
done
是指当前这个功能你已经完成,你自己已经简单的测试和验证过了这个功能,但done
只是表明你大部分完成,和简单的自我测试验证了,没有很严格的去测试。
fix: 用户输入昵称有去除空格
done
之后如果还有更新,就不做update了,因为你已经认为自己完成了。后面的都是发现的问题,所以都是要处理的bug,所以处理完,就要称之为修复fix
。这阶段很有可能测试人员已经在介入。
feature: 实现用户注册功能,修复所有问题,并通过测试
你已经完成此功能,你接下来将不会再对他进行修复或更新。除非要升级此功能,或此功能有了新的变化和需求。如果有新的需求了,则又要从add
开始做
ban: 禁用实名认证
ban
往往是你已经做好了某个feature
,但决定临时或永久的禁用。有可能未来会开启。如果永久的禁用,那不如删除。
delete: 删除收集用户地址功能
删除已经存在的功能。这是一个分界点,如果想要恢复你删除的功能。你只要回退到此节点的前一个节点。
reset: 弃用用户评论功能,并进行回退处理
如果软回退,还能恢复。如果硬回退,在远程git上可能还有记录。如果硬回退,远程也没有,则永远无法恢复了。
问题
-
add
之后都是更新update
,那岂不是会有特别多的update
,那这样的标签前缀,还有加的必要吗?(fix也可能会很多)
答:有加的必要,update
可以告诉别人或自己,当前这些提交都是非关键点的提交,只是为了完成done
而持续的提交,持续的工作。所以可以不用那么关注update
,如果有亮点,你可以加个flare
。
- 要严格遵守这个规范吗?那会不会很累?
答:我认为不必严格遵守,但这个标签前缀都要统一加上。至于,标签前缀要取哪个,你可以灵活运用,或者自己定义。
网友评论