作为程序员,当然会敲很多很多的代码,以我自己而言,在每次换公司,或者完成一个项目亦或者学习完一门技术之后,都会丢失、忽略很多已经写过的代码。但如果疏于管理,总结,自己的技术可能得不到很好很快的提升,所以管理好代码至关重要。
版本管理工具
说到代码管理,我们就会想到版本管理工具,市场上版本管理工具有多种,常用的集中式版本控制系统有cvs、svn,当然还有最好用的分布式版本管理系统git。我现在都是在用git,有很长一段时间没用svn了,不过由于最开始开发使用的是svn,所以还是有一些情怀的。这里且不去比较集中式版本管理和分布式版本管理的区别和优缺点,只介绍如何搭建svn的服务器以及客户端。
网上有很多介绍通过Subersion服务器来搭建svn服务器的文章,这里我们介绍CollabNetSubversion的方式,并将它与金山快盘(之所以用金山快盘是因为它相对安全,而且可以随时随地访问到自己的代码,有效期长)结合起来,这样就可以在不同的电脑,安装客户端,检出自己的代码(可以将本机代码与远程版本库同步,相当于svnchina、github之类的功能,但是svnchina要收费,github要想不开源也要收费,如果说只是放自己平时的学习测试相关的代码就没什么必要了)。
环境搭建工具准备
以下是本次环境搭建需要安装的工具:
金山快盘5.4:http://rj.baidu.com/soft/detail/13074.html?ald
Eclipse:https://www.eclipse.org/downloads/
CollabNetSubversion1.8:http://www.collab.net/downloads/subversion
TortoiseSVN1.8:https://tortoisesvn.net/downloads.html
当然,以上工具的版本是我当时搭建环境所使用的版本,CollabNetSubversion和TortoiseSVN的版本可以按照最新版本来下载。
搭建步骤
那么现在我们开始搭建环境(基于OS:Windows):
1、下载并安装金山快盘。安装完成之后,选择一个盘作虚拟文件夹,这里我选择的是E盘(具体为E:/quickdisc),然后注册金山快盘,注册之后则可同步该文件夹之中的内容。
2、安装Eclipse(当然,安装Eclipse钱需要安装JDK),这里就不再赘述。
3、安装SVN客户端TortoiseSVN,网上有很多教程,这里不再赘述
4、安装CollabNetSubversion,这里的安装目录为“D:/Program Files/CollabNet/Subversion Client”,在快盘路径下E:\quickdisc\新建文件夹mysvn,并通过TortoiseSVN创建
repository(下面称之为SVN库,可以命令行创建,也可以直接右键->TortoiseSVN->Create repository here...),这里的repository相当于就是本地版本库了,而且本地库和远程库之间的同步也不用你关心,金山快盘已经帮你做了这部分的工作。
5、SVN资源和权限配置
需要注意的是在SVN库路径下,需这样配置 E:\quickdisc\mysvn\conf\svnserve.conf: [general] anon-access = read auth-access = write password-db = passwd authz-db = authzE:\quickdisc\mysvn\conf\passwd: [users] yxq = yxq
E:\quickdisc\mysvn\conf\authz:
[groups] [/] yxq = rw
请每次去掉#号注释之后,必须将前面的空格也去掉。其中yxq = yxq分别表示svn的用户名和密码,yxq = rw中的yxq表示用户名,可根据需要自行设置。
6、然后创建和启动svn服务:sc create svnserve binPath= "\"D:/Program Files/CollabNet/Subversion Client/svnserve.exe\" --service -r E:/quickdisc/mysvn" DisplayName= "SVNService" depend= tcpip start= autosc start svnserve(如果之前的服务还存在,需先sc stop svnserve停掉服务,再sc delete svnserve删除服务)
7、准备工作做完,测试下是否可用。选择一个项目文件夹,如svntest,开始import,SVN选择svn://localhost/svntest,
ok,再输入用户名和密码:
现在就可以开始导入了,在Eclipse中亦然(只是需将SVN集成到Eclipse或者下载SVN插件),不再赘述,到此环境搭建完毕。
其他代码管理方式
除了金山快盘,当然还有其他很多管理代码的方式,类似于通过这种网盘和云服务的方式来免费svn代码服务器的还有百度云、淘宝Code、Google Code(在我国很可能被封哦)等等。看个人喜好可以尝试用下,这里不做评论。
但不能忘了的当然是Github,作为一个基于linux的强大的分布式开源版本库,当然值得推荐,需要学习的,这里给个廖雪峰大神的git学习教程:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000