当前位置: 首页 > 科技观察

Git的版本管理总是出问题,推荐使用GitFlow

时间:2023-03-12 08:13:54 科技观察

Git是Linux内核开发的版本控制工具。不同于常用的版本控制工具CVS、Subversion等,它采用分布式版本库的方式,不需要服务器端软件支持,使得源代码的发布和交流极为方便。目前各大公司都使用git来管理软件源代码的版本管理,因此git的使用是必不可少的。在一些项目开发中,可能存在不合理的git使用流程,导致代码版本管理混乱,容易造成代码冲突。甚至会带来线上BUG等,所以一旦我们的项目在git管理后还是有很多问题,可以考虑采用gitflow的标准流程。什么是gitflowGitFlow其实是一种标准化分支管理模型的解决方案。他出现在文森特·德里森(VincentDriessen)题为“一个成功的Git分支模型”的博客文章中。我们先来看看VincentDriessen提出的gitflow流程图。在上图中,有几个分支。它们的作用如下:master分支:用于生产环境的分支。该分支只能合并其他分支的代码,不允许直接Revise。Hotfix分支:当生产环境发现线上bug时,需要创建hotfix。bug修复后,hitfix分支被合并回master和develop分支。发布分支:用于测试环境分支。当develop分支完成后,develop分支会合并到release分支进行测试。测试中的bug在release分支修复,bug修复通过后release分支合并到master和develop分支。develop分支:开发环境分支,用于拉出一个个feature分支,用于新功能的开发。feature分支:该分支主要用于开发一个新的feature,通常是从develop分支拉取,develop后合并到develop中。那么如何使用gitflow呢?gitflow中的master和develop分支是长期存在的分支,都需要保证稳定性。如果有新功能需要开发,拉取基于develop的feature分支进行开发。开发完成后合并到develop分支,删除feature分支。功能开发完成后进行测试,基于测试的develop分支拉取发布。如果在测试中发现bug,会在release分支修复。测试通过后,release分支会合并到develop分支和master分支。最后,将master分支标记为release并删除release分支。如果后续线路发现bug,则拉取基于master的hotfix分支。在hotfix分支修复问题后,将hotfix分支合并到master分支和develop分支。由于上述流程,gitflow工具非常标准和繁琐。如果团队成员非常符合约定,可以做一些调整和简化;如果有些团队成员不是很遵守约定,我们可以使用gitflow工具强制项目使用gitflow标准流程。gitflow工具:http://danielkummer.github.io/git-flow-cheatsheet/可以按照官网地址操作,和git没什么区别。本文仅作简要介绍。gitflow中的命令总结如下:说到底,适合的才是最好的。任何时候都不要直接使用gitflow。毕竟工艺比较复杂。