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

从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. t-sql或mssql怎么用命令行导入数据脚本

    osql简单用法:用来将本地脚本执行,适合sql脚本比较大点的情况,执行起来比较方便 osql -S serverIP -U sa -P 123 -i C:\script.sql serverIP数据 ...

  2. C++11 并发指南六( <atomic> 类型详解二 std::atomic )

    C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)  一文介绍了 C++11 中最简单的原子类型 std::atomic_flag,但是 std::atomic_flag ...

  3. [安卓] 7、页面跳转和Intent简单用法

    这里有一个layout资源,2个activity.首先在MainActivity.java中实例化按钮和添加按钮监听绑定都是我们知道的,这里要注意的是第22行Intent intent = new I ...

  4. shell 学习文章列表

    linux shell 逻辑运算符.逻辑表达式详解 linux shell 自定义函数(定义.返回值.变量作用域)介绍 shell export 作用 linux bash shell之declare

  5. How to use kingshard building a MySQL cluster

    How to use kingshard building a MySQL cluster https://github.com/flike/kingshard/blob/master/doc/Kin ...

  6. paip.互联网产品要成功的要素

    paip.互联网产品要成功的要素 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/atti ...

  7. atitit...触发器机制 ltrigger mechanism sumup .的总结O8f

    atitit...触发器机制  ltrigger  mechanism sumup .的总结O8f 1. 触发器的类型 1 2. 实现原理 1 3. After触发器 Vs Instead Of触发器 ...

  8. document对象操作:浏览器页面文件

    //找元素 1.根据id找 <div id="d1" cs="ceshi"><span>document对象</span>& ...

  9. Java集合——题目

    第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年 ...

  10. 整站HTTPS后的跨域请求 CORS是否还有效?

    | 导语  手Q马上就要全量https了,很多业务都有跨域ajax请求的需求,原来使用的CORS头在HTTPS环境中还继续能用吗?我搜遍了谷歌.百度,都没看到有明确的答案,那么就自己来尝试一下吧. 关 ...