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

玩转Git-Flow工作流-分支分析

时间:2023-03-17 19:59:40 科技观察

本文转载自微信公众号《UP技控》,作者conan5566。转载本文请联系UP技控公众号。概述相信大多数从事开发的人每天都会使用git,所以在实际项目中遵循一个合理清晰的Git使用流程对我们来说非常重要。否则,每个人都会把提交搞得一团糟,项目很快就会变得难以协调和维护。那么如何规范整个过程;其实有很多标准,这里介绍一下Gitflow;什么是GitflowGitflow是一套基于Git强大分支能力的软件开发工作流程,由VincentDriessen于2010年首先提出,最著名的大概就是下图了。那么对于这个规范,我们看看如何在实际使用中应用整个过程。分支描述主要分为两个主要分支和辅助分支。主分支:分支目录为单层,分支永久保留。○develop:开发特性分支时,最后提供测试时,请合并到这里。该分支不做任何程序修改和变更集,只接受master和feature分支的合并。○master:始终处于生产就绪状态。Supportingbranch:分支层级为双层,合并不用的可以删除○featurebranches:新特性开发,分支的建立基于master○hotfixbranches:需要修改的临时bug,分支的建立是basedonmaster○releasebranches:提供Marketing测试,预计上线的版本,分支的建立基于master,合并待测的feature分支。合并完成后,请设置标签。Tag的内容是合并后的特性分支的来源和合并。Mainbranch○developSource:master,featurebranchesMerge:none○masterSource:noneMerge:releasebranches,developSupportingbranchs:branchhierarchyisdouble○featurebranchesSource:masterMerge:releasebranches,develop○hotfixbranches来源:master合并:releasebranches,develop,master○releasebranchesSource:master,featurebranchesMerge:mastersupportbranchnamingfeaturebranches:根据功能命名○ex:新开发的feature是FeedbackDashboard,请命名为feature/FeedbackDashboard●hotfixbranches:Named根据修改后的bug○例:修改Invoice显示错误,请命名为hotfix/Invoice●releasebranches:多个特性分支需要根据日期命名○ex:release/20171013分支对应环境●mainbranch○develop:开发环境○master:生产环境●support分支○featurebranches:none○hotfixbranches:none○releasebranches:沙盒环境Git常用命令,请安装GitWindows:https://git-scm.com/download/win分支合并○gitmergefeature/xxx--no-ff○:ws!同步远程分支○gitremoteupdate○gitremoteupdateorigin--prune添加dll到Git○gitaddxxx.dll-f恢复所有本地变更集○gitreset--hardHEAD~创建标签○gittag-atagName●同步Tag到远程○gitpushorigintagName查询Tag内容○gitshowtagName删除Tag○gitpush-dorigintagname○git-dtagname