2005年10月15日

为什么要用subversion

文章是改出来的。我不知道这是谁说的这句话了,不过记得是一个名人,忘记是那一位著名的作家了,稿纸上每行字下面要留两行的空间留作以后修改用。现在我们有了计算机了,当然不需要专门留有空间了, 因为随时可以在原文上修改了。不过,在稿纸上修改来改去可以随时返回原来的样子,因为在纸上记下了每次修改的痕迹。无论何时都可以回溯到原来的版本,我不知道多少人用过重复取消这一功能,经常使用电脑的人应该是经常使用ctrl+z这个组合键吧。不过这个键只在当时有用,一旦你关闭了程序,这样的功能就没有了。而且我想修改应该是不断的改来改去吧, 不仅仅是改一次就算了,可能改了许多次之后,又觉得原来的反而更好。如果你想达到这样的功能,一个选择是每改一次都要保存一个复本,按照时间或者是修改的次数来进行保存,不过你不觉得很浪费空间与时间,即使你修改一个逗号也要保存一个文件的副本,如果是一个几十M的文件这样你每改一次都要成倍的变大一次。为什么我们不只保存变动的部分呢?当然可以了,这时候就需要我们的版本控制系统来起作用了。所谓的版本控制就是记下你每一次的修改,每改一次都会有记录,可以让你随时回到任何一个想要的版本。每一次修改都是一个版本。但是各个版本之间只保存差异。这样你可以只保存修改的地方就行了。而且版本控制系统自动完成这些功能,不需要你去管理,你所需要的只是告诉你要存什么,你需要取回什么就行了。如,你建了一个文档test.txt,写了一句话“这是第一句话。”,然后保存起来,传给版本控制系统让他帮你保存,这就是版本1,然后你可以将自己计算机上的删除掉了。几天后,你心血来潮,又想写几句,于是从版本控制系统中取出这个版本1的文件,再加上一句话,现在test.txt变成了如下的内容”这是第一句话。再加上一句话吧“,现在,然后让版本控制系统帮你保存一下。这是版本2。又过了几天,你觉得前几天写的那句话有点问题,想改一下,你于是取出版本2,将最后那句话加了个标点符号,现在内容变成了”这是第一句话。再加上一句话吧。“然后传回给版本控制系统,这就是版本3。现在你有了三个版本,这三个版本之间的差别很小,版本2和版本3之间只差一个标点符号。现在你可以随时回到任何一个时候了。你可以取出版本1,你得到的是”这是第一句话。“也可以取出版本2”这是第一句话。这是第二句话“,当然也可以取出版本3了,”这是第一句话。这是第一句话。”你可以随时在这些版本上修改内容,然后于传回去,变成版本4。就是这样,什么时候都可以后悔,无论修改几次,都可以回到任何一个时候,就象CTRL+z和CTRL+y一样方便。现在你知道什么是版本控制系统了吧。当然这个软件叫的这样拗口主要是因为这样的功能程序最早应用于程序员,现在使用最多的也是程序员,因他们的程序总要改来改去的,就象写文章一样,有时候一个小小的标点符号就可以使计算机崩溃,因此能够随时回到任何一个点是非常重要的。这就象windowsxp增加的还原点功能。其实除了程序员,很多人都需要这样的程序,例如你写一本书,写一篇文章等等。甚至你的QQ聊天记录也可以保存在里面。是不是有点心动了?
好了,说完了版本控制系统就应该说一说subversion了。说到版本控制系统就不能不提到CVS,这是目前使用最多的版本控制系统了,很多的开放源代码项目都用他来进行版本控制,不过由于CVS太早了,随着用户的应用,一些不足也逐渐显现出来。有不足,当然有改进了,subversion就是这样的产品,其实他的设计者与cvs的关系也非常紧密,记不清楚了, 好象是原来的cvs的设计者,觉得cvs不足,于是设计subversion来代替cvs。我也不比较二者了,反正subversion的目的是替代cvs的。不过cvs现在应用也非常的广泛,不过二者的使用习惯差不多,如果你会用cvs,subversion应该也很快上手,不过二者还是有一定的差别的,cvs我也用过,现在也会经常用到,我认为subversion比较好用一点,不过二者在一般应用上差别不是很大,因此在本机上,我选择了subversion,如果你不习惯用命令行,选择一个好用的客户端也可以,其中的rapidsvn很不错,还有一个集成在右键菜单的tortoisvn,这些都可以在网上下载到,看个人的习惯了。

没有评论:

发表评论