Git

git工作流及commit规范

2017-09-11  本文已影响0人  Walkerc

Git 是目前最流行的源代码管理工具。可以方便的维护和管理团队合作项目。

但若没有一个合理,规范的分支命名和管理,以及commit消息的编写,会使得仓库越来越臃肿,也难以看懂历史变更,版本发布,bug修改等。

上周自己向主项目仓库提交了一个pull request,说句实在话,commit消息杂乱无章,重复commit,而且还混带了其他人的commit消息等等,真的干扰到主项目的管理和维护。

鉴于此,LZ查阅了一些网上的资料,以及自己亲手实践测试,写下这篇文章,来规范自己以后的git工作流程,如果万幸的话,还能给其他开发者一些参考。

这里先给大家安利一篇好文 Git 分支管理最佳实践,LZ也主要参考了该文章。

基于git flow的项目流程

文字叙述可能有点啰嗦,直接上图比较直观

点击看大图
流程图详解

说明:
upstream : 远程主项目仓库
origin : 远程个人仓库
local : 本地仓库
仓库指向的白色框,代表该仓库下的分支

commit提交规范

关于commit信息,它并没有固定的格式,但是每次的commit信息应当是简洁明了的表达你的修改,让其他合作者很容易的看懂。

就目前来看,最受欢迎,使用最广泛的就是 Angular规范,如下图

Angular.js

在Angular规范中,将commit message规定了三部分,分别是

在你的commit信息中,Header是必须的,而后面两种可加可不加,LZ个人认为只需Header即可,简洁明了,commit太复杂了反而不好。所以这里只介绍一下Header部分怎么写,其余两部分可以移步 Angular规范 看官方详细的说明。你也可以参考Angular.js开源项目的commit

Header

Header只需一行,包括type,scope,subject,格式如下

type(scope): subject

1、type(必选)
type 用于说明你commit的类型,有如下7种

2、scope(可选,建议选择)
scope用于表明你此次提交改动的范围和地方。当你找不到合适的词表明此次改动时,可以填上*

3、subject(必选)
简短的文本来描述你的改动

备注:如果某次commit是为了fix某个issue,那么要在Footer部分加上

Close #123

或者关闭多个

Closes #123,#456
Revert

是专门用来撤销上一次commit的操作,格式如下

revert: <被撤销的commit的Header部分>
This reverts commit <被撤销commit的SHA标识符(git log查看)>
上一篇 下一篇

猜你喜欢

热点阅读