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

从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. php乱码

    1:php 编码是utf-8 但是接口需要是gbk 这么办?? $message = "你的微点管理地址为:".$shortUrl." [请保存信息]"; // ...

  2. vimium: 浏览器神器

    chrome firefox 都有 vimium (firefox 中为vimfx), 快捷键也差不多 下边是chrome中快捷键示意图: G = shift + g (其他同理) c+e = ctr ...

  3. WPF Dispatcher 一次小重构

    几个月之前因为项目需要,需要实现一个类似于WPF Dispatcher类的类,来实现一些线程的调度.之前因为一直做Asp.Net,根本没有钻到这个层次去,做的过程中,诸多不顺,重构了四五次,终于实现, ...

  4. Nginx学习笔记(七) 创建子进程

    Nginx创建子进程 ngx_start_worker_processes位于Nginx_process_cycle.c中,主要的工作是创建子进程. 在Nginx中,master进程和worker进程 ...

  5. 使用window2003安装邮件服务器最新实际操作记录

    关于使用windows 2003自带的服务组件来安装简单的pop3 协议邮件服务器网上教程很多,可以搜索出来,就是安装IIS选中smtp和添加window是组件的应用程序服务器,这点这里不多说. 安装 ...

  6. iOS企业级开发

    2015移动技术白皮书 Android篇 iOS篇 项目管理篇 综合篇 结束语 iOS项目框架设计 项目结构的设计 基类的设计 自定义生命周期 跳转器 自定义UV打点控件 图片缓存 iOS网络底层框架 ...

  7. Spring MVC + jpa框架搭建,及全面分析

    一,hibernate与jpa的关系 首先明确一点jpa是什么?以前我就搞不清楚jpa和hibernate的关系. 1,JPA(Java Persistence API)是Sun官方提出的Java持久 ...

  8. c#访问http接口的"编码"问题

    记一次访问http数据接口的爬坑经历,一般访问一个http接口. 无非就是这么几行代码: HttpWebRequest request = (HttpWebRequest)WebRequest.Cre ...

  9. 深入了解javascript事件流

    摘要:事件流这个东西是比较重要的,为了让自己更加理解js中的事件流,必须整理整理,梳理一下事件流的各种东西啊.本文大部分内容参考<javascript高级程序设计第三版> 先来一段书里的原 ...

  10. atitit.技术选型方法总结为什么java就是比.net有前途

    atitit.技术选型方法总结为什么java就是比.net有前途 #----按照不同的需要有不铜的法... 一般有开发效率,稳定性上的需要.. 作者 老哇的爪子 Attilax 艾龙,  EMAIL: ...