【每周一转】合作开发中必须的Git分支管理策略

gitFlow,也就是git工作流程,是工作中合作开发的时候必须要会的知识点。以下提到的gitFlow只是一个标准参考,团队可以不用完全按照它的规定进行代码管理,有自己的团队特色,或者根据实际情况作出一些调整都是允许的,不过应该靠近标准,这样省时省力,遇到问题也有可参考的解决办法。

  • 日常工作中,我们一般都是分工开发,拉取项目之后在本地建立自己的功能分支,最后都会合并到develop分支,剩下的工作交给运维人员。
  • 最常见的问题就是修改公共文件或者安装新的package会造成代码冲突,所以公共修改均应在develop上统一修改并在各个分支上同步。
  • 项目最开始就应该做好项目架构的搭建和代码的同步,否则最后需要耗很多时间在代码整理上。
  • 所有gitlab和github上的可视化操作都可以通过本地指令实现,程序员还是多用用指令比较酷。

GitFlow 概念

What Git flow

GitFlow是由Vincent Driessen(文森特德里森)创建的Git的分支模型(git操作流程标准)它引起了很多关注,因为它非常适合协作和扩展开发团队。

  • master:主分支
  • develop:主开发分支,包含确定即将发布的代码;
  • feature:新功能分支,一般一个新功能对应一个分支,对于功能的拆分需要比较合理,以避免一些后面不必要的代码冲突;
  • release:发布分支,发布时候用的分支,一般测试时候发现的 bug 在这个分支进行修复;
  • hotfix:热修复分支,紧急修 bug 的时候用。

Why Git flow

  • 并行开发
  • 协作开发
  • 发布阶段
  • 支持紧急修复

How Git flow

本地自己分支开发完毕提交流程

  1. clone
  2. git branch develop
  3. git checkout -b feature1
  4. 写代码
  5. git add -A
  6. git commit -m "xxx"
  7. git push
  8. 来到gitlab 申请merge
  9. 或者 本地合并到develop 然后 push(8操作会在远程仓库建立该功能分支,如果不想在远程出现功能分支进行9操作)

申请merge时有冲突解决:

  1. git checkout develop
  2. git pull
  3. git checkout lgf
  4. git merge develop
  5. 手动解决冲突
  6. git add
  7. git commit
  8. git push
  9. 重新申请merge

一图胜千言 具体情况具体分析

gitflow 图
参考中文版

posted @ 2019-12-26 09:45  十弋  阅读(218)  评论(0编辑  收藏  举报