那些年我在使用TortoiseSVN

TortoiseSVN简称SVN,是一款集中式版本控制软件。项目使用中我们还经常会听到hg和git的分布式版本控制软件。

下面让我举例来说说我对使用过的svn的认识以及分析其他两个软件的不同之处与优势。

svn最大的特点就是需要有一个集中的版本控制中心,所有人员提交代码都将提交到中央服务器中。

  • 开发人员拥有本地拷贝并且可以在线下工作.
  • 在本地文件系统上可以进行快速的构建.
  • 可以快速的重构.
  • checkout和checkin的速度都会非常的快.
  • 终于有了原子提交.
  • 轻量级的Branching和Tagging操作.
  • 基本的合并操作.
  • 个人/本地的branching操作仍然需要再次checkout.
  • 因为仍然是集中式的,而不是分布式的.
  • 基本的合并点追踪.
  • 没有办法合并重命名文件,需要在提交前使用一些扩展的跟进冲突解决机制.
  • 代码库有时会崩溃,专家/开发人员比例已经很低,如1:100.

其中提到的个人/本地的branching操作任然需要再次checkout的,所以当服务器连不上的时候,有时候是很痛苦的。本地的数据版本管理不了。我们项目中有时候还会出现代码的冲突,所以这就要求团队必须要分工明确,各施其职,尽可能每个人在code的时候不要在相同的地方。不然经常出现冲突和合并上的错误的。(当然这个是可以避免的,这就需要团队的协作和沟通了

使用SVN是简单的,你要上手是非常快的。

Subversion提倡单一的中央代码库模型,不提倡大规模的branching.在一个使用持续集成的环境中,其实也就是我们每天工作的环境,这个模型是非常合适的.这也是Subversion为什么这么流行,应用范围这么广的原因之一.

另外svn还对二进制的有很好的支持。

在某种特定情况下,SVN也有其相应的优势,如果你需要对版本控制系统难以合并的二进制文件(如word文档或者ppt)进行管理的话,你就应该回 退到独占式checkout的锁机制下,这就需要一个集中式的系统.另外,SVN更容易上手:你有一个代码库,所有的更改都指向这个代码库,如果你知道如 何创建,提交以及checkout,那你就可以开始使用它了,而像branching,更新这些操作在使用过程中自然也就慢慢熟悉了.SVN拥有一些非常 好用的客户端软件,而且几乎所有的主流IDE都有与SVN集成的插件,这些都能够为你使用SVN提供很大的帮助.

下一篇文章将介绍我去了新公司后使用了TortoiseHg分布式版本软件的一些心得。

原文链接:那些年我在使用TortoiseSVN 版权所有,转载时请注明出处,违者必究。
注明出处格式:前端开发博客 (http://caibaojian.com/162.html)

发表评论

请登录后发表评论: