从master创建任务分支
1.需要先将master分支代码更新到最新然后再切新分支;
2.新需求和hotfix需要从master切分支,若是在QA测试阶段或者预发布阶段的bug,则需要再该功能分支上进行修改;
提交代码到自己的任务分支
commit之后一定要push到远程,若该分支有多人在进行开发,则push之前需要先执行fetch&rebase,若有冲突,先解决冲突之后,编译没有问题再提交。
开发完成进入自测(联调)阶段
将代码切到dev分支,找到自己的开发分支并选择相应的提交,cherry pick到dev分支。
2、此时若有冲突,一定要先解决冲突才行;如果进行fetch/rebase之后
出现图中的类似情况
打开对应分支的远端
从该分支的远端重新遍基一次 然后重新进行fetch/rebase便可
常见问题:
有时会遇到git卡死,执行rebase和fetch命令都不行;并提示:
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
此时可以通过执行命令:git gc --prune=now
解决该问题。
2、push到远程之前先执行fetch&rebase;自测(联调)阶段发现的bug,需要先在自己的开发分支上修正之后,再同样执行cherry pick到dev分支。
自测(联调)完成提交QA测试
测试环境代码是在test分支,因此在提交测试时,同样需要将自己开发分支的代码,cherry pick到test分支。同时,测试阶段修改的bug,需要先在自己开发分支修正,然后再分别cherry pick到dev分支和test分支。
QA测试完成进入预发布阶段
预发布环境代码分支是release分支,因此同样需要将自己开发分支的代码,cherry pick到release分支,。同时,预发布阶段修正的bug,需要先在自己开发分支修正,然后再分别cherry pick到dev、test和release分支;