凡事总须研究,才会明白。大话西游能够成为90年代经典,我也还依稀记得是因为“得不到 + 已失去”,可是不甚清楚。我翻开碟子一查,明明白白的每帧中都写着“无厘头”几个水印。我横竖睡不着,仔细看了半夜,才从帧相关中看出货来,满片满世界都刻着两个字:“时间”和“版本”!
       
        版本管理现在越发地直白出来了。
       
        1. 当做消遣的科幻电影
        1984年,T800回到提交点,想创建出另一个demon分支。它失败了,但留下一个足以破坏主干架构的bug。1992年,bug在主干已成长为宕机级bug,demon分支即将自动生成。T1000带着更大的权限,来清除未来的QA,遭遇到被改造过的reviewer--另一个T800,结果bug被回滚。再后来的2003年,2009年,我们看到主干上还在不断制造bug,然后被reviewer清除。
       
        1985年,Marty McFly在Back to the Future(实际是回到过去)中,比较了30年前和现在的老爸。帮助老爸打败情敌,维护以自己为核心的主干正常发展,并解救了自己的忘年交Dr. Emmett Brown。后来Marty发现,他只是一个修改号(revision),他得去HEAD解救他的儿子。
       
        1993年,猪猡公园,对不起,是猪猡记公园。Steven Spielberg自己在主干的蚊子中,埋下了罪恶的设计缺陷种子,引诱开发人员培养出无数恐龙级的bug,这个模块用户的大部分被bug吃掉。还好该bug的在一个独立的模块中,幸存者逃出来后就从主干中关闭了这个模块的功能配置项。(慢,真的关掉了吗?Spielberg显然不会轻易让自己维护的模块出局,他接着发布了猪猡2、猪猡3、猪猡3D,搞得大家对模块化是否能封装变化产生怀疑)
       
        1995年,Bruce Willis被不准确的修改号和注释整得很惨,被当成精神病(遇见一个病友),被回到一战战场,最后和“十二猴子军团”的疯子领导战斗,这个领导就是当初的病友。混乱的注释,混乱的回滚。Willis不是被自己提交的注释绊倒的第二个人。
       
        2001年,Keanu Reeves完整演示了冲突分支的概念。Neo在主干中从实习生做起,平时干私活搞点小聪明,有搞bug的天赋,被选中做领导来维护OEM分支(备注:该分支已经重启了六次,每次都失败)。于是年纪轻没经验,在主干中飞天入地乱加代码,挑战各种规范接口,非法调用其他模块资源。搞得发布分支老大非常不爽,要清理OEM团队在分支和主干的提交。两者目标和资源冲突起来,搞得以前一个野心勃勃的reviewer Smith,也要建立一个OEM分支。Smith连开发背景都没有,只知道追求完全一致的接口,按代码行数计算功能和规模,胡闹一通,还要求一国三制。最后发布分支和Neo都受不了了,讨论一个妥协方案,保留少部分Neo分支资源,然后Neo和Smith火并,Smith分支全部被删除,Neo分支建立起来,但没有需求人员,人心也散了。主干继续做人肉电池,为发布分支自动化运行提供支持。
       
        2010年,Nolan和Leonardo合作,整出了一堆费脑子的Inception递归项目,而且只在主干做,不允许使用分支。每个人都干得很辛苦,因为每递归一层子项目,项目时间会延长20倍,除非你不玩了,需要自杀或他杀来退出。但你没有陀螺单元测试的时候,你根本分不清你在哪个项目混。结果有人的死了,她还活着;有的人活着,他被骗了。
       
        2011年,Colter Stevens上尉,穿着别人的马甲,在8分钟的Sourcecode实验项目里,不断地从一个指定提交点开始死亡行军,试图找出导致项目死亡的真凶。随着项目进行,他了解到无论成败,他都会被从项目注销掉。本着开发的职业精神,利用不知名的工具,最后他成功了解救了项目,并在实验马甲被注销的前一刻,他同步到项目主干中,继续发布新版本生活。
       
        1968年的人猿星球,一个人类开发员,去实验分支搞预研,因为没有版本计划,打了个瞌睡。醒来发现自己已经被放置在非人类项目中,自己的角色是临床实验对象。测试、开发、项目经理都是猩猩,管理还在处于手工作坊式阶段。凭着以前的项目经验,做不了就撤,他成功摆脱实验对象角色,准备寻找自己的主干。突然,他发现他就在原来的项目主干之中!只不过项目内容已经面目全非,不过他看到了以前团队残留的设计模型。
   
        ...
        
        科幻片具有几个模式:向前、向后、(UXO)Undefined X Object,好的导演能够自圆其说。这些导演,用好了版本管理的某个特性,就发挥出巨大的影响力。我们有些用户还在讨论电影的“逻辑错误”问题,我认为他们版本概念一无所知,更别说提交、注释、分支、合并。

月光宝盒-版本管理2

月光宝盒--版本管理1相关推荐

  1. 月光宝盒--版本管理2

    月光宝盒--版本管理1 2. 日渐混乱的海量历史 如果从版本管理角度看人类历史的发展,也许会很有意思.横向时间线上分为3个阶段:初始版本.实体文字版本.多媒体+电子文字版本.纵向属性线上从范围.质量. ...

  2. Git案例:月光宝盒 ,让我们随时回到以前

    Git就是月光宝盒 ,让我们随时回到以前 Git案例:版本切换 项目需求: 项目不同版本间切换: 新建项目,Git初始化项目. 制作三个不同版本项目(不同版本区分使用标签(tag)): html5_v ...

  3. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  4. 代码管理和版本管理的作业流程以及规范是怎样的?

    代码管理和版本管理的作业流程以及规范是怎样的? 代码管理和版本管理的作业流程以及规范是怎样的?下面以文档的形式进行详细分析,希望能够给予测试人员一些帮助和指导. 本文目的 本文试图提供一套有效进行代码 ...

  5. Git安装与使用教程-本地仓库与远程仓库内容版本管理

    一.Git 简介 Git是目前世界上最先进的分布式版本控制系统.其可以进行本地和远程两种版本控制. 本地版本控制:在本地 .git 文件夹内维护历时文件 远程仓库(如GitHub)版本控制:在本地 . ...

  6. 目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?...

    目前流行的源程序版本管理软件和项目管理软件:Microsoft TFS,Github,SVN,Coding 各自的优缺点: Microsoft TFS: 优点: 任务版上能将需求.项目进度一览无余,对 ...

  7. 用好 Git 和 SVN,轻松驾驭版本管理

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 凌承一 来源 | bubuko.com/infodeta ...

  8. 跟我做CVS版本管理试验

    本篇文章主要讲述版本管理中的标记用法,目前假设已经安装了CVS并且配置了环境变量CVSROOT,在前面的文章中又相关的记录,[url]http://tianli.blog.51cto.com/1903 ...

  9. 谈一谈git和SVN两大版本管理工具。

    Git 和 SVN 的区别? 写在前面: git和SVN都是一个版本管理工具,没有孰优孰劣之分,在这里,只是简单的说一说git和svn的优缺点.选用哪一个看自己公司的实际情况而定. 1) 核心的区别在 ...

最新文章

  1. opencv-contrib-python安装
  2. 目标检测 /yolo算法原理的详解
  3. Django:序列化的几种方法
  4. 51Nod--1100-斜率最大
  5. vant实现下拉刷新和上拉加载_微信小程序 - 实现下拉刷新、上拉加载
  6. mysql主从配置,innobackup备份
  7. 飞鸽传书linux运行,Linux下飞鸽传书实现
  8. 项目采购管理和干系人管理
  9. 奖状自定义生成(可生成多张)
  10. ubuntu16.04 误删文件找回
  11. jOOQ是如何设计事务API(详细指南)
  12. ArcEngine IPageLayout 添加经纬网和公里网
  13. 新一代自助建站工具的领航者 - Tap . cn
  14. redis服务器错误日志分析
  15. 微信小程序中Vant Weapp的引用与使用
  16. 中国真的需要企业协同平台吗?
  17. [转]服务器操作系统CoreOS介绍
  18. SSM+jsp实现仓库管理系统,界面那叫一个优雅
  19. cocos2d-iphone之魔塔20层第七部分
  20. 巨磁阻磁头和水平磁记录技术介绍

热门文章

  1. 川西云南行散记之十二《沪沽湖-丽江》
  2. 鸿蒙 安卓4.4,换机精灵鸿蒙版下载-换机精灵 鸿蒙版v4.4.9-PC6鸿蒙网
  3. 证券从业资格证-考前复习-金融市场基础知识
  4. 在开曼群岛注册离岸公司的好处
  5. OOAD:面向对象的分析和设计
  6. YUV色彩空间变换与采样格式
  7. 阿里云全球同服游戏解决方案
  8. 水果店圈子:开小的水果店投资多少钱,开个水果店都需要什么费用
  9. oracle数据库添加表空间
  10. 近期百度大规模K站的分析总结