前言
之前自己跟师哥交流的时候也听到过SVN,当时常听到的就是从SVN上面扒东西!?现在自己接触到SVN,心里还是挺激动的,可以说是带着好奇心去学习的。
CVS
我认为说SVN之前是一定要说一下CVS的。CVS(Concurrent Versions System)版本控制系统,明确的将源文件的存储和工作空间独立开来,并使其能够并发的操作。CVS基于客户端,服务器可以容纳多个用户,对于共同开发一个项目,创造了很大的便利。
SVN
SVN(Subversion),也是一个开发源代码的版本控制系统。SVN一出世便是很嚣张的,他的存在就是为了取代CVS(不要骂我,不是我说的)。
小结
SVN和CVS各有千秋,想了解自行百度,内容很丰富,小编查阅了很多资料,发现SVN使用的比较多,CVS有点渐渐隐退的意思。今天小编就来跟大家说说SVN,欢迎吐槽。
SVN入门
刚刚也说了那么多,一句话总结一下,SVN中有服务器端和客户端,满足多个人员共同完成同一项目,同时可以做到存储文件和版本控制。
功能
那么为什么要有SVN呢,它又是干什么的呢?在学习SVN的时候,听到这样一句话,感觉很有道理:没有经过管理的代码是不存在的。我想他有两个含义吧,一个是经过管理后的代码具有安全性,二是通过版本控制,各个时期的开发都变得可以看得见的。这样的话,我们我们的效率可以大大提高。下面先用一张比较简单粗暴的图来描述一下SVN的作用。
我想如果只是一张这样的图放在这里的话,一定是可耻的,下面这张是自己学习SVN之后的一个认识,不过我认为,这还是一个过程,对他的认识我想在项目中我会慢慢的提高和熟悉。
冲突
我想这是我这里一定要说一下冲突这个事,为什么会发生冲突,有的时候我们会同时修改同一条语句,那么在我们提交的时候回发生冲突,那应该怎么办呢?我们在使用文件时,首先:要更新,确保自己使用的是最新的的版本,其次:我们两个人商量,是要保留谁的最后更改,如果是保留自己的,自己可以commit,然后update,若果是保留对方的修改,那么自己直接revert就okay了。
Visual Studio
目前我们使用VS来编程的,那么在VS中如何实现版本控制呢?
Ankhsvn
下载地址:http://ankhsvn.open.collab.net/
安装好ankhsvn后,可以在VS2012中的文件中看到一个subversion的选项,可以通过这个选项打开远程的文件,然后copy到本地等等操作,提供一个文档,供大家学习参考
VisualSVN
下载地址:https://www.visualsvn.com/
安装好之后,便可以在VS的菜单栏中多了一个Visualsvn,里面有我们用的很多东西。
结语
这便是自己对SVN学习的一个小总结,我想这是一个很好的工具,自己之后也少不了做项目,下个合作就是最好的办法去使用这个工具,好期待。同时自己之后也会有很多的学习,要多使用这个工具,让自己编程的路上越走越远。(目前是这样的。)