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