为什么要使用项目管理?
- 项目阶段性,一个项目比如有开发,测试,bug修复,迭代的种种阶段。甚至于不同区域部署不同的代码。正式由于这些阶段的每个状态都是需要我们严格控制与管理的所有才会有git这样的工具出现。帮助我们管理代码的不同阶段与不同状态。
- 成员的多数性,团队管理的述求。团队协作开发代码已经是常态怎么合理的管理不同成员之间的不同权限,不同开发需求。都是我们应该思考的问题?不同需求不同文件的代码合入,同一代码文件,不同需求的冲突解决?
怎么管理项目(以gitlab为例)
- 其实正如我们刚才所说的,项目管理就是管理项目的不同状态。
- 这样我们把git项目切分成一下内容
- master主干用于发布上线
- develop开发,用于测试联调阶段
- 分支别名 featrue/ 加需求号即开发分支号
- 分支别名 fixout/ 加bug单号就修复bug分支
- tag标签稳定的版本号
怎么控制整个流程
- 每次从master拉取分支创建需求号或者bug号分支
- 需求与bug修复完成之后将代码合入dev打包用于测试与联调
- 测试通过后通过权限控制,将开发和修复的Bug的分支再合入master
- 如此以往反复
注意事项
- 每次在master pull 之后保证master代码最新可以拉取分支,或者在远程master上面创建最新的bug或者需求的分支在checkout 到本地
- 开发是注意 切换分支
git checkout
- 同时开发新需求与修复bug时可以用缓存区
git stash
- 代码提交错误,想回到之前的版本
git reset --hard 之前版本hash值
- 远程代码再回退到之前状态
git push 分支号 --force
重要事项再来一遍流程
远程master 上面创建分支 保证代码最新
git checkout -b 本地分支名 远程分支名
开发完成 推送到远程
- 代码冲突解决思路,不管需求时间,只管提交时间,后提交者合并之前人的特性需求
- 需求冲突解决?产品重新定义后,后提交者解决冲突保证需求一致
- 所有问题后处理者解决
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1hg72npzt6vj7