1.远程仓库新建与命名
新建远程项目时,一个本地项目对应一个远程项目,严禁将多个本地项目放在同一个远程项目下。项目命名规范应符合短横线命名法,如:shop-mall-front。
2.项目分支组成
每个项目都必须至少包含一个master线上主分支,一个dev开发主分支,和每个参与项目开发的开发人员对应的开发分支,命名规则为dev-(名字首字母小写简拼),如:许王鹏对应的个人开发分支为dev-xwp。
3.版本分支
除了上面提到的分支以外,当项目一个版本通过测试验发布后,将该版本的dev开发主分支合并到master分支上,同时再从master或dev分支上创建一个版本分支,版本的分支命名规则为milestone-(版本/里程碑数),如:第一个稳定版本发布后,同时生成milestone-1,作为一个稳定版本分支。如果后续在开发或者部署第二个版本时,遇到情况,且无法立刻修复时,可以回退到milestone-1版本。
4.分支合并
分支合并步骤如下:
- 开发人员在当前自己的开发分支开发完毕后,先将自己本地的开发本质同步到远端的自己分支,目的是确保接下来在本地合并代码冲突时,可以将自己开发的代码在远端备份,防止合并过程中,自己代码被污染后无法复原。
- 同步远端dev开发主分支的代码到本地个人开发分支下,即当前本地分支为dev-xwp:(git pull origin dev),这一步可能会产生代码冲突,请开发人员在自己本地个人分支上解决代码冲突。
- 在解决代码冲突/同步完远程dev开发主分支后,将本地个人开发分支git push到远端个人分支上,提交时要有本次提交的备注,可以是简单的一句话,比如:修改了A模块下的样式/修复了B模块下的bug。然后再去代码仓库进行分支的合并请求,如下图:
源分支为个人分支,目标分支为dev开发主分支,如图:
创建合并请求的过程中,代码管理平台会自动告知你当前分支是否可以合并,如图,就是可以合并,如图:
如果本地没有处理代码冲突,则会在合并请求时提示:
注意,合并请求如果有代码冲突,禁止合并,请先在本地解决好代码冲突后再进行合并。如果是较大改动,涉及到多个页面/模块的改动,要在描述中加上备注。
- 成功创建合并请求后,如果你是当前项目的管理员,则可以自己审核该合并请求,否则,请联系该项目的管理员来进行本次代码审核。
5.代码格式化工具
请所有参与前端项目的开发人员,代码格式化工具统一用eslint+prettier。用Vscode开发的人员,请去插件市场安装eslint和prettier,安装后如果有格式化上的冲突,去网上百度自行解决,或者来找我。idea也就是webstorm的开发人员检查下当前开发工具的格式化默认插件,一般都是官方默认安装推荐好了的。
统一的代码格式化风格对多人协作的开发团队来说至关重要,可以避免大量的代码冲突问题。
6.安装插件GitLens
该插件可以帮你在合并代码冲突时,找到对应该行代码的提交者。帮助你快速找到对应的代码开发人员,如图:
在本地代码合并过程有冲突时,除去格式化问题等简单情况后,遇到难以判断的合并代码冲突,不要擅自自行合并,请找到冲突代码的其他相关开发人员,现场一起 确定好后再进行合并。