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

从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. 跟我一起学STL(2)——vector容器详解

    一.引言 在上一个专题中,我们介绍了STL中的六大组件,其中容器组件是大多数人经常使用的,因为STL容器是把运用最广的数据结构实现出来,所以我们写应用程序时运用的比较多.然而容器又可以序列式容器和关联 ...

  2. jeesite笔记

    环境 Github上的不能初始化数据库:https://github.com/thinkgem/jeesite 官网上的可以: http://jeesite.com/ 用 Idea 打开,修改 \sr ...

  3. 用jstl截取字符串

    用jstl截取字符串 2011-08-01 08:55 5485人阅读 评论(0) 收藏 举报 stringfunctionjavahtmljspencoding jstl以前在jsp页面截取字符串时 ...

  4. Coded UI Test中的数据驱动测试

    有关什么是Coded UI Test以及如何使用Coded UI Test可以查看我的另一篇文章:http://www.cnblogs.com/jaxu/p/3706652.html 本文主要介绍如何 ...

  5. Javascript之document对象用法(很重要)

    一.找到元素 document.getElementById("id"):根据id找层,最多找一个 var a=document.getElementById("id&q ...

  6. [jQuery学习系列一]1-选择器与DOM对象

    前言: 好久没有更新博客了, 最近想复习下 之前学过的JS的相关内容, 也算是自己的一种总结. 知识长时间不用就会忘记, 多学多记多用!! 下面的程序都可以在下面的网站进行在线调试: http://w ...

  7. atitit.编辑表单的实现最佳实践dwr jq easyui

    atitit.编辑表单的实现最佳实践dwr jq easyui 1. 提交表单 1 2. 表单验证 1 3. 数据保存使用meger方式取代save&update方式 1 3.1. Filte ...

  8. XML入门级的简单学习

    xml案例<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Ge ...

  9. untiy数据包的输出、加载和卸载

    1:untiy数据包的输出: BuildPipeline.BuildAssetBundle将任意类型的资源打包成AssetsBundle文件. BuildPipeline.BuildAssetBund ...

  10. css之入门篇

    今日学习终于到了css,css可以实现很多表现出很酷的界面,而css的出现是为了解决 HTML结构上写样式出现一片混乱现象而应运而生的语言,在以前样式都是和结构一起写的, 不分彼此,而这样大大增加了代 ...