SVN简介:
SVN 全名 Subversion,即版本控制系统,它是一个自由/开源的同时支持多种操作系统的版本控制系统。在 Subversion 管理下,文件和目录可以回到任意时刻的版本,以及比较任意两个时刻的版本变动,这点不止在协同开发中,即使在个人开发过程中,这种特性都是非常非常有用的。大多数程序员都会有过这种经历,对代码进行很多的修改,发现修改的想法根本是错误的,而这时我已经修改了多个文件,要想回退是非常纠结的事情,而现在可以使用 SVN 轻松做到这一点。
我们称用来存放上传档案的地方就做 Repository。用中文来说,有点像是档案仓库的意思。不过,通常我们还是使用 Repository 这个名词。基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到 Repository 上面。日后,当您有任何修改时,都可以上传到 Repository 上面,上传已经存在且修改过的档案就叫做 commit,也就是提交修改给 SVN server 的意思。针对每次的 commit,SVN server 都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从 Repository 下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。
SVN的好处:
1.SVN Repository 可以是自己计算机上的一个目录,或者是随身碟(不建议这样用)。当然也可以是公司的服务器。
2.SVN 有很棒的版本控管机制。所有上传的版本都会帮您记录下来。日后您可以随时取得某一个时刻的版本。而且,也有版本分支及合并等好用的功能。
3.SVN 可以让不同的开发者存取同样的档案,并且利用 SVN Server 作为档案同步的机制。也就是说,您有档案更新时,无须将档案寄给您的开发成员。只需要告诉他新的版本已经在 SVN Server 上面,请他自己去 SVN Server 上面就可以取得最新版本。而且,SVN Server
也可以做到当您上传新版本后,自动发信给相关的成员。
4.SVN 的存放档案方式是采用差异备份的方式。也就是说,他只会备份有不同的地方。所以很省硬盘空间。此外,他也可以针对所谓的非文字文件进行差异备份。
Linux下使用SVN:
1. 在你的环境下安装subversion软件
可以使用 yum 命令下载安装: sudo yum install -y subversion
可以使用命令查看是否安装:rpm -qa | grep ubversion
2.下载SVN服务器上的项目PS:这里以博主的淘宝code为例子
svn checkout path (path是服务器的目录)
简写:svn co path
例子: svn co http://code.taobao.org/svn/yun-iot/
有可能出现的问题 : 1).
这里的是名称解析出现错误。
解决方法:检查 /etc/resolv.conf 的配置, 然后检查虚拟机是否能上外网。
2).当你的虚拟机和SVN的ID不一致时:
解决方法: svn co --username=SVN的ID path
例子:[Ciel@localhost ~]$ svn co --username=kristall http://code.taobao.org/svn/yun-iot
3. 在虚拟机得目录下将创建的文件夹移动到下载下来的SVN目录下
svn add folder //添加你的文件夹或者你的文件
[Ciel@localhost yun-iot]$ svn add yuzhonghan/
A yuzhonghan
A yuzhonghan/trunk
A yuzhonghan/bin
A yuzhonghan/src
4.使用 svn ci 命令将文件提交到服务器上
[Ciel@localhost yun-iot]$ svn ci -m"Add yuzhonghan"
Adding yuzhonghan
Adding yuzhonghan/bin
Adding yuzhonghan/src
Adding yuzhonghan/trunk
这是可以去SVN 查看是否添加进去。