git的实际工作经验总结
分支工作的一个较佳的实践, 即git工作的最佳实践
从最初的svn到后来的git,上来给我的感觉就是git更方便, 可以在本地进行版本的提交,回退. 后来对hash有所了解, 知道了git的每个版本其实都是一个固定的hash. 这个hash有自己的父节点, 只要记住了这个hash, 提交就不会丢失.
实际呢? 对git的理解也是在这里, 大家还是在一个 develop 上去开发, 工作模式跟 svn 其实没有差别(除了我们自己的个人分支外, 在本地可以进行一些其他的处理)
分支的功能
develop分支
1. 最初开发阶段
当初我们在 develop 分支上开发, develop 就相当于我们原来的 svn 的一个分支一样, 大家都在这里进行开发. 知道我们真的进行决定发版后.
2. 发布版本阶段
后来开始进行版本的发布后, 我们大家的工作版本仍然在 develop 分支上, 然后 test 分支会从 develop 上进行切过来, 然后 release 分支上又会从 test 分支上进行切出. 然后在对应的分支上进行bug的提交.
好处没有啥,就是比较好理解吧. 坏处是在 develop 上的东西终究会直接上到 release, 不能对某些功能进行很好的控制, 也不能很好的控制代码质量. 因为工程的功能点比较多, 也不可能对所有的功能进行全部的回归. 只能尽量的对一些改动的地方进行重点测试.
3. 按照功能点进行的分支控制
开始按照通用的工作流, 所谓的 git flow 进行开发.但是可能又会稍有不同.
我们每个人的开发起点都是基于 release 分支的(或者 master), 基于一个比较稳定的版本然后开始自己的特性分支开发. 每一个特性就是一个固定的功能.
基于功能点的分支,这个分支只是属于你的,如果这一个分支需要进行测试, 那么我们提交到 test 分支上去. test作为一个测试的分支, 是可以随时变化的.
如果需要上线的分支, 我们是会合并到 release 分支上去的.
develop分支作为一个开发内部的协调沟通分支.
后记与总结
记录的很乱, 最后也总结一个下.
每一个分支都有每一个分支的功能. 每个人又是在每个人的分支上进行开发, 这个开发的起点一定是稳定的分支, 这样你增加的功能就会比较单一(只是你自己开发的分支). 对于以后的发布和合并都会比较好处理. 如果分支的开发周期比较长, 最好经常 rebase 一下release 的代码, 避免以后合并处理的冲突较多.
develop: 开发内部的协调和自测分支;
test: 测试分支, 提测分支;
release: 发布分支, 比较稳定的分支;
master: 线上分支, 稳定版本的分支;
对于bug的修复, 如果是自己的特性分支问题, 那么就在自己的特性分支上开发. 如果是稳定版本的修复, 一定是在对应的稳定版本进行修复. 然后经过 test 分支的回归(如果是 hotfix 可以直接合并到 release 或者 master 上进行紧急测试), 合并到对应的版本上去.
git的实际工作经验总结的更多相关文章
- java后端程序员1年工作经验总结
java后端1年经验和技术总结(1) 1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为 ...
- 一年工作经验的大专生程序员(java后台)
1.文章前言 作为18应届毕业大专生已工作一年,相信这也是大部分同届生的现状. 那么,一个萌新进入职场一年都经历了什么呢?在校那会我是挺好奇的. 这篇文章是根据自己一年 ...
- 精干货! Java 后端程序员 1 年工作经验总结
一.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少 东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护 和发布当救火队员的苦恼 ...
- 超人学院二期学员分享hadoop工作经验
定于2月17日--2月23日的某一天,邀请咱们学员分享一下hadoop工作经验.对于没工作过的同学或者没从事过hadoop工作的同学,抓住机会啊,你可以提前准备自己关心的各种问题! 具体时间请关注QQ ...
- 经过本人 6 年.net 工作经验证明 .net 工资确实比 Java 低
很久没有逛博客园了,很久没有出来吐槽了.怎么呢?生活压力大,就需要找地方吐槽. 排版不怎么好,文笔不怎么好,可以看出我不是雇佣的写手. 工作到今夏,已经有6个年头了,一直使用着.net技术,但是最近工 ...
- 2年Java开发工作经验面试总结
最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪 ...
- 一位10年Java工作经验的架构师聊Java和工作经验
从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师.对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式.国内开源软件推动者之一, ...
- 一位IT男的7年工作经验总结
一位IT男的7年工作经验总结 1.分享第一条经验:"学历代表过去.能力代表现在.学习力代表未来." 其实这是一个来自国外教育领域的一个研究结果.相信工作过几年.十几年的朋友对这个道 ...
- 一年iOS工作经验,如何一举拿下百度、美团、快手等Offer面经(附面试题)
前言: 先简单说说我最近的面试经历吧.面试的公司很多,大部分最后都能得到令人满意的结果,我将这些体会记录下来,面了这么多公司,如果不留下什么,那岂不是太浪费了.对于我来说,这也是一次自我检查,在这次面 ...
随机推荐
- Windows服务创建及发布
二.创建Windows Service 1.新建一个Windows Service,并将项目名称改为“MyWindowsService”,如下图所示: 2.在解决方案资源管理器内将Service1.c ...
- pytorch learning rate decay
关于learning rate decay的问题,pytorch 0.2以上的版本已经提供了torch.optim.lr_scheduler的一些函数来解决这个问题. 我在迭代的时候使用的是下面的方法 ...
- bat批处理删除多少天前的文件
@echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除. ::本例需要Win2003/Vist ...
- Hibernate中Session.get()/load()之区别
原文链接http://sunxin1001.iteye.com/blog/292090 Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.其区 ...
- 73.移动端Web界面滚动性能优化 Passive event listeners
题,滚动时候不仅滚动了希望滚动的部分,整体的页面也跟随者上下滚动,整个页面非常卡顿. 这两个页面都用了touch事件 控制台打印如下警告: [Intervention] Unable to preve ...
- 在js中把json中的 key去掉双引号的方法
方法一: //数据格式是这样的: var data = '[{"id":30348079,"name":"表1","score&q ...
- Android gradle用exclude排除引用包中的dependency引用
项目突然编译不通过,报如下错误 FAILURE: Build failed with an exception. * What went wrong: Execution fai ...
- vue-element-admin 前端框架 使用感触
感触: 不搜不知道,一搜吓一跳!经常百度很重要. 美国有gitgub:https://github.com/search?q=vue-element-admin 中国有码云:https://gitee ...
- Mongodb之简介
MongoDB是一个基于分布式存储的数据库,由C++语言编写,旨在为WEB应用提供的可扩展的高性能数据存储解决. MongoDB是介于关系型数据库与非关系型数据库之间的产品,也是非关系型数据库中功能最 ...
- Python中的列表推导式
Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成“列表推导式”,也有人翻译成“列表解析式”.名字听上去很难理解,但是看 ...