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

从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. [leetcode 19] Remove Nth Node From End of List

    1 题目 Given a linked list, remove the nth node from the end of list and return its head. For example, ...

  2. 100道.net面试题

    简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该 ...

  3. BugTracker 加入发Mail的功能

    BugTracker部署好之后,发现增加bug不能mail提醒.于是补上这个功能记录在此,方法是次要的,主要是找到地方.需要3步.吐槽下Asp的代码风格看的真心蛋疼.... 一.发送mail(主要是找 ...

  4. [转]HTTP协议及其请求头分析

      众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP.Archie Gopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用.  WWW服务器使用 ...

  5. 用自己的算法实现startsWith和endsWith功能

    package hanqi; import java.util.Random; import java.util.Scanner; public class zuoye { public static ...

  6. bzoj 3399: [Usaco2009 Mar]Sand Castle城堡

    3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec  Memory Limit: 128 MB Description 约翰用沙子建了一座城堡.正 ...

  7. unity 读取excel表 生成asset资源文件

    做unity 项目也有一段时间了,从unity项目开发和学习中也遇到了很多坑,并且也从中学习到了很多曾经未接触的领域.项目中的很多功能模块,从今天开始把自己的思路和代码奉上给学渣们作为一份学习的资料. ...

  8. hive学习3(hive基本操作)

    hive基本操作 hive的数据类型 1)基本数据类型 TINYINT,SMALLINT,INT,BIGINT FLOAT/DOUBLE BOOLEAN STRING 2)复合类型 ARRAY:一组有 ...

  9. 巧用Windows 7计划任务设置定时提醒

    Windows 7系统有个“计划任务”功能,一般人都很少使用.其实,“计划任务”是系统自带的一个很实用的功能,比如说,这个功能可以设置定时提醒,这样在使用电脑时就不会因为太过投入而导致错过重要的事务. ...

  10. solr课程学习系列-solr服务器配置(2)

    本文是solr课程学习系列的第2个课程,对solr基础知识不是很了解的请查看solr课程学习系列-solr的概念与结构(1) 本文以windows的solr6服务器搭建为例. 一.solr的工作环境: ...