有关一个开源社区共有的提交信息规范,希望咱每个人还是都遵守一下 #238
Groupguanfang
started this conversation in
常规
Replies: 1 comment
-
以前写提交信息一直乱写,现在涨见识了😆,谢谢! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
主要是Git的提交信息。
其实Git的提交信息
git commit -m "提交信息"
是有一定的规范的,而现在是杂乱无章。如果是TypeScript/JavaScript项目,我可以使用
commitlint
+husky
等工具拦截git命令,让提交commit的人必须遵循"规范"来撰写提交信息。但是iOS项目中,我不清楚如何强制让提交者遵守规范,你们比较懂,我只是提一下建议。但是这个规范呢,是整个开源社区都在默契遵守着的,目的是为了让别人更清楚地知道你在这个提交里面到底干了啥。
具体的,咱可以看看这篇知乎文章,我随便找的一篇文章,如果看不懂可以去查找搜索引擎关键词“Git提交信息规范该怎么写”。
我这边给一个我自己日常遵守的,一般遵守类似的如下格式:
git commit -m "本次提交修改的类型(修改的范围): 修改的信息"
请注意:冒号是英文冒号,后面还有一个英文空格,如果这个项目上了提交规范工具,这个空格也是必不可少的,否则提交规范工具决定会报错(提交规范工具是非常严格的)。
其中:本次提交修改的类型取值是固定的,一般我常用到的有:
feat
:顾名思义feature
的简写,就是新功能的意思;fix
:顾名思义,修复了某些问题;refactor
:也是顾名思义,重构了某些内容;ci
:知道你们有在用github actions,比如修改了.github
下的yml
文件时的提交就可以用ci
;docs
:更加顾名思义了,就是修改了文档嘛。要是我本人,类似修改了README啊这种就可以docs
;BREAKING CHANGE
:这个也是顾名思义,“破坏性变更”的意思。这个应该是最少用的了,至少我印象中,我的项目里面的使用次数基本为0;chore
:不知道什么类型,或者一个提交既有新功能又修复了内容时,参杂了各种各样的类型的修改,实在没办法才用这个;这个是兜底的。举个例子
比如我在登录页面加了一个新按钮:
git commit -m "feat(LoginView): 登录页面加了一个按钮"
又或者:
git commit -m "refactor(LoginView): 登录页面重构"
指定不了范围,允许不加圆括弧:
git commit -m "fix: 修复多个页面的多个按钮的颜色显示问题"
所以说,其实规范遵守起来,也不难,只是大家统一一下,这样能让提交记录更规范好看的同时,也为了使提交信息格式清晰、易于阅读和理解。
以身作则
我举一个我自己在闪电那边的例子吧。闪电的后端项目非常庞大,你们应该也是有所耳闻的,目前经历了6个大版本,现在也开源了,github在nailyjs/Nai-Six,开源的是V6版本,V6名义上也不属于是闪电的项目,类似我自身的项目了,闪电也在用着,而已。
V4之前版本的代码不能开源出来,涉及到了太多的机密信息,但是我可以给你们看看V4的提交:600多个commit,全是我一个人从22年1月份到现在一笔一划提交出来的:
看看提交信息,因为只有我一个人看,我也没有写太详细,但是都是按照这个规范的,至少整齐划一:
随着喵哩star的日益增长,我觉得也是差不多了,需要你们每个人都去遵守一下这个规范了。看着是表面功夫,实际上项目真的大了之后,会很有帮助的。
@WindowsMEMZ 望阅完,码了很久的字。
Beta Was this translation helpful? Give feedback.
All reactions