这几天把尚学堂马士兵视频教程看完了,开始讲了些理论性的知识并不是很明白,除了SVN前面也讲了一些SCM和CVS的知识。先大概的总结一下,主要是对SVN的理解。
【知识点】
1、是什么?
SVN全名Subversion,即版本控制系统。SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到SVN(百科中的解释)。其实也就是多个开发人员通过一个中心版本控制系统来记录文件版本,以保持编译代码文件的同步。之所以会迁移到SVN,是由于之前CVS编码的问题,所以现在大多数软件开发公司都使用SVN替代了CVS。
2、为什么?
a.现在的软件开发基本上都是团队合作完成的,所以大家需要公共的数据仓库(repository),可以随时下载更新该项目的代码,保证代码的同步。
b.SVN其实相当于版本控制器和备份服务器,我们也自己完成过几个小系统了,代码的备份的重要性我们应该都知道。还有就是关于版本的控制,也就是说我们没有办法保证最新版本的代码没有错误,一旦出错,就需要恢复到原来的版本。这两点是非常重要的,SVN也就解决了这方面的问题。
3、怎么用?
先了解一些基本概念:
数据仓库(repository):我的理解其实就相当于一个对代码版本管理的服务器,可以通过客户端配置到该服务器,对其文件进行命令操作。
工作台(workspace):项目成员在自己电脑本地工作的地方,可以将服务器上的东西检出,更新到本地。
基本命令操作:
检出(checkout)和更新(update)都是将服务器上的东西down到本地,不同的是checkout是第一次下载到本地,以后用update将内容更新到本地,就好比是软件的安装和更新。
提交(commit):也就是将本地你新编写的内容提交的服务器上,还有add(添加)命令。
还原(Revert):还原到你未提交之前的版本。
基本流程如图:
【小结】
看过视频之后其实只是理论上大概的理解了一些,实际操作还有待实践,等到机房合作的时候要好好地学习学习,期待中。。。。。。。