团队协作GIT使用规范 v1
规范 git 的使用是为了避免 git 中央仓库分支混乱,导致发布出问题,提升我们的工作
效率。
此规范会不断地完善。
强制执行!
开发人员 git 使用流程(规范)
1.克隆分支
git clone git@developer.goujiawang.com:goujia/website.git
2.切换到开发分支
git ckeckout developer
3.基于开发分支新建本地开发分支进行代码修改
git checkout -b lufei
4. 代码提交前合并其他团队人员的提交
git checkout developer
git pull origin developer
5.将 developer 合并到你自己修改的分支,并解决冲突git checkout lufei
git merge developer
这个合并过程可能会有冲突,解决的根本办法是功能开发细分
如果出现冲突,建议找修改代码的成员一起解决冲突
6.本地测试是否正常
运行 jetty 测试是否正常
7.切换到 developer 分支,合并本地分支,提交
git checkout developer
git merge lufei
git push origin developer
如果在测试过程别人有提交,这个 push 会有冲突,需要先 pull
为了尽量减少冲突,功能模块的开发一定要细分,每个开发人员负责一个模块的开发,
尽量不要去修改其他团队成员模块的代码,除非你看 ta 不爽。每个开发小组的负责人切记
做好功能开发细分!
提交规范
-
禁止使用-ff or –force 等强制提交,覆盖中央仓库的内容,除非你知道你在做什么!
-
不要各自在自己的 Git 分支开发,然后发文件合并。正确的方法应该是开一个远程分
支,然后一起在远程分支里协作。不然,容易出现代码回溯(即别人的代码被覆盖的情
况)
提交说明的结构
当提交内容简单时,尽量用的一句话描述”做了什么”。句子结构可以分解为(方
括号中为可选):
动作+组件+[原因-索引]
-
动作:即提交的行为,句首字母大写。有文章认为只使用 Update、Add、Remove
三个动作就可以满足使用。但是为了更精准地描述,我还是倾向于使用其它动
词,下图有常见的动作用词。每一次提交只应该有一个动作,多个动作请适当
拆分。
-
组件:指的操作内容,应该用精准的名称,类名方法名等,方便快速定位。不应
该提供宽泛的文件名。
-
原因及索引:必要情况下用精简的语句描述原因,有问题追踪系统的话可以指向相应的 ID。
分支建立规范
所有项目采用分支开发方式,分支分为开发分支、新功能分支、修复分支、其他分支
和 master 分支
分支 命名 说明
master 分支 master 发布分支
开发分支 developer 主要的提交分支
更能分支 feature 新功能分支
修复分支 bugfix-{date} bug 修复分支
其他分支 随意 特殊情况时建立的分支
目前我所在小组所用到的项目,都进行了分支的清理,目前使用的就两个分支,一个
developer 分支(开发人员提交的分支)
,一个 master 分支(发布分支)
。其他分支暂时没有
建立,因为现在项目比较小,我们也有线下测试环境,没有必要,以后再考虑。
新功能开发分支建立规范
一下重大的功能,一定要新建一个分支,比如上次购家宝功能、爆款功能测试都可以新
建一个分支来开发,避免影响原来的 developer 分支
这个需要每个团队的负责人来通知我创建新分支。
发布规范
生产环境必须使用主分支发布
测试环境使用 developer 或者 feature 分支