【转】git在公司内部的使用实践
版本定义:
版本号使用x.x.x进行定义,第一个x代表大版本只有在项目有重大变更时更新
第二个x代表常规版本有新需求会更新
第三个x代表紧急BUG修正
一个常见的版本号类似于:0.11.10
分支定义:
- master分支对应线上版本,上线都使用master;
- develop是开发分支,用于生成提测分支release,始终保持最新;
- hotfix是紧急分支,从master生成,bug修正后自动合并到master和develop并且生成tag;
- feature是私有分支,用于开发新需求和需要较长时间的BUG修改
- release是提测分支也即常规分支,测试并且bug修改结束后生成该版本tag,后续可以使用git show tagname来查看版本信息或者回滚
工程师: clone版本库后,首先git flow init初始化工作目录。 开发工作流程:
- git flow feature start xxxxx(开始新需求)
- 在feature/xxxxx分支下进行开发
- git flow feature finish xxxxx(开发完成后等待研发经理确认可以完成时执行)
- git push origin develop(发布develop分支)
- 每天工程师都需要git pull origin develop来更新develop分支,然后将develop分支合并到你正在开发得feature/xxxxx分支上来保持代码最新
- 切记不能直接在develop上进行开发
常规分支debug流程:
- 由研发经理通知相关工程师release版本x.x
- git fetch
- git checkout -b release/x.x origin/release/x.x(拉回release版本)
- git pull release/x.x(更新该分支)
- 修改测试中发现的BUG
- git push origin release/vx.x(修改完后提交分支)
- 循环4-5
紧急debug流程:
- 由研发经理通知相关工程师hotfix分支名称x.x.x
- git fetch
- git checkout -b hotfix/x.x.x origin/hotfix/x.x.x(拉回hotfix分支)
- git pull hfx.x(更新hotfix分支)
- 在热修复分支下修改bug
- git push origin hfx.x(修改完成,提交分支)
在日常工作中不能修改master分支下得代码 研发经理: 开发和DEBUG流程同工程师流程 常规分支debug流程:
- git pull origin develop(更新develop分支为最新)
- git checkout develop(切换到develop分支)
- git flow release start x.x(生成一个release分支)
- 通知测试和相关得工程师分支名称
- git pull origin release/x.x(最终测试完成后拉回分支最新代码)
- git flow release finish x.x(最终修改和测试完成后,结束release版本以供发布)
- git push origin develo (发布最新的develop)
- git push origin master(发布最终得master分支)
紧急debug流程:
- git pull origin master(更新master分支为最新)
- git checkout master(切换到master分支)
- git flow hotfix start x.x.x(生成一个hotfix分支)
- 通知相关得工程师和测试人员hotfix分支名称
- git pull origin hotfix/x.x.x(最终测试完成后拉回分支最新代码)
- git flow hot fix finish x.x.x(最终修改和测试完成后,结束hot fix以供发布)
- git push origin master(发布最终得master分支)
在全部的流程中,工程师必须维护自己的feature分支保证代码最新,减少合并时的冲突。
研发经理必须维护release分支,将最新的hotfix都合并进去,保证代码最新,减少合并时的冲突。
在提交代码时还要注意判断对代码的修改是否是自己的,多用diff工具,多查看log,防止代码回溯.
原文来源:转自 http://zeroq.me/p/451 作者: zeroq
【转】git在公司内部的使用实践的更多相关文章
- git在公司内部的使用实践(转)
从2011.10月左右,开始在后台组推行git版本控制,到现在也差不多半年了,也形成了一套基于git flow的副官模式工作流程: 版本定义: 版本号使用x.x.x进行定义,第一个x代表大版本只有在项 ...
- Git在公司内部的使用规范
Git在公司内部的使用规范 目录 Git在公司内部的使用规范 1.版本定义 2.系统开发环境 3. 分支定义 4.Commit 日志规范 5.开发工作流程: 5.1.常规分支debug流程: 5.2. ...
- 公司内部搭建git服务器
前言 因为gitHub上的项目是公开的,不适合公司内部项目放在上面,而私人的需要收费,这绝非是我们愿意的.所以找了个跟gitHub很相似,但是又免费的gitLab.现在将搭建gitLab过程记录一下留 ...
- 一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本
jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图.另一份 Android 开发学习路线图.可惜不是MarkDown格式的,所以jixiaohua直接上传的截图,在jixiao ...
- WCF/WPF公司内部订餐程序开发
WCF/WPF公司内部订餐程序开发 (服务端篇) 上班的第一天,群里讨论关于订餐的问题,所以想到了要不要自己开发一个公司内部的订餐系统呢?方便公司内部员工的订餐,有了想法就简单的实践了下 . 实现还是 ...
- PouchContainer 开源版本及内部版本一致性实践
PouchContainer 开源版本及内部版本一致性实践 为什么要做内外版本一致 对外开源是提升影响力.共建生态的有力手段.在项目对外开源的过程中,首先是将可以开源的部分抽离出来,发布一个“开源版本 ...
- Git 在团队中的最佳实践--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...
- Rafy 领域实体框架 - 公司内部培训视频
本月给公司内部一个项目做架构重构,其中使用到了 Rafy 框架.所以我培训了 Rafy 领域实体框架的使用方法,过程中录制了视频,方便其他同事查看.现在把视频放到园里来分享下,有兴趣的朋友可以看看,有 ...
- 搭建公司内部的NuGet Server
随着公司业务慢慢的拓展,项目便会越来越来多,很多项目会依赖其他项目DLL,比如一些底层的技术框架DLL引用,还有各业务系统的也有可能会有引用的可能. 项目多,交叉引用多,如果要是有一个DLL更新,那就 ...
随机推荐
- 修改Tomcat HTTP端口号(8080→8088)Eclipse
1.如果不用Eclipse,修改Tomcat的端口号,可以参考这篇: https://jingyan.baidu.com/article/adc815139b12def722bf7377.html t ...
- javap的基本用法
参考:http://www.cnblogs.com/beautiful-code/p/6424977.html javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码.通过它,我们 ...
- du 查看 資料夾 佔用空間
查看 目前目錄使用的空間大小 du -h --max-depth=0 -h, --human-readable 查看 目前及下一屠的目錄 使用的空間大小 du -h --max-depth=1
- GSMArena battery life test
GSMArena battery life test Battery Endurance Score = [ Battery Capacity / ( call hrs * a + Browsing ...
- Yii命令行模式
(具体参数描述请使用命令看描述,不过全是英文) 1.Yii提供命令行指令不多,常用的有webapp 和 shell. 1. message 搜索指定文件信息 yicc message webroot ...
- MongoDB管理与监控
https://blog.csdn.net/Chen_Victor/article/details/74855050 https://www.cnblogs.com/zhangyinguang/p/5 ...
- AC日记——花店橱窗布置 codevs 1028
题目描述 Description 假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学效果.为了取得最佳的美学效果,必须使花的摆放取得最大的 ...
- Codeforces 622F The Sum of the k-th Powers(数论)
题目链接 The Sum of the k-th Powers 其实我也不懂为什么这么做的……看了无数题解觉得好厉害哇…… #include <bits/stdc++.h> using n ...
- T1155 金明的预算方案 codevs
累~~~ http://codevs.cn/problem/1155/ 题目描述 Description 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高 ...
- MAC终端命令行整理
参考:http://www.jianshu.com/p/3291de46f3ff 目录操作 命令名 说明 举例 cd 切换到指定目录 cd test ls 查看这个目录下的所有文件 ls /Users ...