SVN简介
SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。SVN中的一些概念 :a. repository(源代码库)源代码统一存放的地方b. Checkout (提取)当你手上没有源代码的时候,你需要从repository checkout一份c. Commit (提交)当你已经修改了代码,你就需要Commit到repositoryd. Update (更新)当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更 TortoiseSVN简介TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。客户端使用Windows客户端TortoiseSVN的使用1, TortoiseSVN 客户端的安装测试选择的是TortoiseSVN 1.6.5客户端 付中文汉化包. 2,客户端的文件更新至服务器(user1操作)新建一个空目录,右键Checkout (提取)svn://192.168.103.26 /winne输入passwd文件中的授权用户帐号就可以了在目录中加入一些文件测试. 然后在空白地方右键点TortoiseSVN-> ADD 添加列表到服务器端.此时并没有真正拷贝到服务器上,需再在Commit(提交)操作才会拷贝 在版本库浏览器中就可以看到刚才提交的文件了3,客户端在服务器上拉读取数据(user2操作)User2 在机器上新建一个空目录user2 , 右键Checkout (提取)填入地址: svn://192.168.103.26/winne 输出至G:\user2 确定增加一个new.txt的文件,然后Commit(提交)之后提示权限出错,user2没有写的权限,换成user1 的身份才可以提交成功. Linux客户端的使用客户端操作流程一般是:用户A: checkout (提取) -> add (添加新文件) -> commit (提交)用户B: SVN log(查看更新) -> update(更新版本)1,SVN的安装yun –y install subversion2,Linux svn的常用命令()内为命令简写.checkout (co) 提取commit (ci) 提交update (up) 更新list (ls) 列表 3, checkout (co) 提取 svn服务器上的文件(user1)操作流程[root@TEST ~]# svn co svn://192.168.103.26/winneAuthentication realm: My First RepositoryPassword for 'root': Authentication realm: My First RepositoryUsername: user1 /输入用户名Password for 'user1': /输入密码A winne/Cosmic Ride - BeFour.lrcA winne/20070716171657126.pdfA winne/svnbook.pdfrevision 1. / checkout (co) 提取成功,看到Checked out版本为1注:可以使用带用户名和密码的访问:svn co --username user1 --password user1 svn://192.168.103.26/winne[root@TEST ~]# lldrwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目录是SVN自动生成的drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks[root@TEST ~]# cd winne[root@TEST winne]# lltotal 2868-rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126.pdf-rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFour.lrc-rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbook.pdf 4,user1修改文件并提交[root@TEST winne]# vi testsvn.txt[root@TEST winne]# svn add testsvn.txt /将testsvn.txt添加到库中A testsvn.txt[root@TEST winne]# svn commit -m "test" testsvn.txt /注释为testAdding testsvn.txtTransmitting file data .Committed revision 2. /版本更新为2了 5,user2回window客户端更新版本回到Windows的客户端看日志, 版本已经更新为2了,注释test,客户端update就可以更新到新的版本了. 6, Windows客户端的版本回滚选中菜单中的update to verisiom ,选择版本1即可.7,Linux版本回滚操作:[root@TEST winne]# svn up -r 1