版本控制是企业开发中一个老生长谈的主题,这也是大部分公司新人进来后需要接纳的一个基础知识体系.

从08年首次接触商业软件编写后,这几年先后接触了SVN,TFS,Git这几个主要的版本控制器,但是并没有深入的去研究过包含的思想,

因此下文只能简单描述自己使用这些主流的版本控制的感受.

SVN

          接触SVN时,对软件开发还是门外汉,大约只是图个新鲜,当初大约有10个人在同一个Responsite下写代码,只不过每个人都只做自己的页面,互相不干涉,这样用了

一年多的时间,我都没有接触过更高深的理念,唯一知道的是,改错代码可以从服务器上找回来,这也是对其最初的印象.

       TFS

         进公司时,部门是用的TFS,当初有点逆反心理,觉得我会SVN了,为什么还是要学TFS呢,于是在不是特别情愿的情况下先看了一段时间的TFS,对它重视起来是由于自己的一个不小心,

从服务器Check Out时,覆盖了自己的改的一些代码,当时是非常沮丧啊,那几行业务代码前后改了1个月,吸取了教训后,对TFS的心理排斥就没有了.不过我个人觉得它的缺点有2个:

1:TFS服务端我曾尝试自己建立一个,但是对机器环境的要求比较高,尝试失败后,就放弃了

2:客户端也挺庞大的,那时还是用的笔记本,感觉好卡

Git

12年时,部门项目全部转移到Git上开发,和初接触TFS一样,我也是没有太在意这些,同事简单的告诉我几个命令后,也没有体会到主管说的分布式开发的内在,当时的心理想法是

觉得你们爱折腾就去折腾,随着项目的推进,有时会遇到多人工作同一个页面的可能性,在没搞懂Git时,发版本经常会出现已修复的Bug又存在下一个版本中,非常纠结啊,当时为一个事故,被直属主管,部门主管,公司领导

依次批评了一顿,所以说很多时候吃亏就是在一些小事情上.现在对Git的使用已经比较熟练了,也越来越懂它的强大之处.

它的优势在于相对TFS而言,部署比较简单,有一段时间,我部署在自己机器上,后来发现Bitbucket这个网站后,就全转移到上面了,个人觉得开发人员积累自己独立的项目库还是应该的.

下面贴一张我目前开发Silverlight项目的图:

第1步到第2步,是Git基本的使用,第3步到第4步,是发行版本后,需要修复Bug,第4步到第5步,是2个分支修改Bug同步.寥寥数语,如果对Git比较熟悉的话,

我想这张图很好解释,相比Git官方提供的流程图,省去了一些过程.

对于它的深入理解: 请参考  http://www.uml.org.cn/pzgl/201112163.asp

关于版本控制器,博客园里很多人研究的很深很细,而我只是略懂皮毛,对上面3个版本控制器的评价主要还是停留在个人感受上,不过相比较而言,我更为推荐的

Git了,希望没有用过的朋友可以感受下强大之处.

Silverlight:版本控制的衍化的更多相关文章

  1. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  2. Git分布式版本控制教程

    Git分布式版本控制Git 安装配置Linux&Unix平台 Debian/Ubuntu $ apt-get install git Fedora $ ) $ dnf and later) G ...

  3. Visual Studio Code 使用Git进行版本控制

    Visual Studio Code 使用Git进行版本控制 本来认为此类教程,肯定是满网飞了.今天首次使用VS Code的Git功能,翻遍了 所有中文教程,竟没有一个靠谱的.遂动笔写一篇. 请确保你 ...

  4. 解析大型.NET ERP系统 版本控制

    数据库版本控制 1) 开发版本控制.控制多人同时修改数据库产生的冲突,使用SQL Source Control 工具做版本管理. SQL Server Management Studio支持VSS和T ...

  5. 版本控制工具比较-CVS,SVN,GIT

    首先介绍几个版本控制软件相互比较的重要依据: a.版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户通 ...

  6. TeamCity : Build 版本控制系统配置

    VCS (版本控制系统) 是用来跟踪项目源文件版本变化的系统.它还有其它的名字,比如 SCM(源代码管理).当前 TeamCity 内置支持的 VCS 类型有:Git, Subversion, Mer ...

  7. 最好用的Unity版本控制工具

    自从来到现在的公司,负责Unity组开发以来,尝试了各种版本控制工具.从一开始的TortoiseSVN,到后来为了追求逼格使用Git,尝试了Github客户端和SourceTree,发现都有各种不爽. ...

  8. 如何用Github版本控制非Github库

    Git的图形化客户端有很多,不同的人可能习惯用不同的客户端.本人更习惯于Github的客户端,因为上Github比较多,同步代码到Github用官方的客户端是最方便的,所以也就更习惯于使用Github ...

  9. git分布式版本控制玩法

    git分布式版本控制玩法 Git distributed version control play github的配置安装步骤:1.下载git bash(从http://www.git-scm.com ...

随机推荐

  1. Android 自定义View 三板斧之一——继承现有控件

    通常情况下,Android实现自定义控件无非三种方式. Ⅰ.继承现有控件,对其控件的功能进行拓展. Ⅱ.将现有控件进行组合,实现功能更加强大控件. Ⅲ.重写View实现全新的控件 本文重点讨论继承现有 ...

  2. log4net简单配置内容

    首先将log4net.dll下载来,添加到项目引用中: 在assembly文件最后面加(其实没关系的): [assembly: log4net.Config.XmlConfigurator(Confi ...

  3. 使用Let's Encrypt手动创建https证书

    Let's Encrypt是一个开源免费的SSL证书项目,是由 Mozilla.思科.Akamai.IdenTrust 和 EFF 等组织发起的,现由Linux基金会托管. 这篇博文分享的是使用let ...

  4. EDA系列学习

    发布这系列的EDA课程VHDL实验是因为有着和单片机系列同样的理由,另外,这个系列的文档只进行过波形图仿真,部分的程序可能不能在硬件上运行. 目录 实验二 8位加法器设计 实验三 组合逻辑电路的VHD ...

  5. [WinAPI] API 2 [MessageBox API][消息框API]

    /* 调用消息框 MessageBox API [peoject->set->link->project chose->subsystem:windows] */ #inclu ...

  6. 01_JavaScript简介

    js用途 前端三层 结构层 HTML 从主义角度描述页面的结构 样式层 CSS 从审美的角度装饰页面 行为层 JS 从交互角度提升体验 HTML 里面的 b(加粗)/i(倾斜)/u(下划线)等标签由于 ...

  7. JS函数和变量

    JS函数和变量  函数: 函数是由事件或者当它被调用时执行的可重复使用的代码块. 是一个独立的代码块,实现特定功能模块. 函数他不进行调用触发的话,不会自己主动执行. 像ATM机一样,不去取钱的话不会 ...

  8. atitit.提升软件开发效率大的总结O5

    atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...

  9. SHINY-SERVER R(sparkR)语言web解决方案 架设shiny服务器

    1. shiny server简介 shiny-server是一种可用把R 语言以web形式展示的服务,其实RStudio公司自己构建了R Shiny Application运行的平台(http:// ...

  10. zookeeper 安装与配置

    (1) 下载ZooKeeper,建议选择稳定版,即stable的. [root@bonnie1 ~]# cd /usr/local [root@bonnie1 local]# wget http:// ...