一、SVN介绍
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
二、SVN的安装(本部分原文地址为https://www.cnblogs.com/yankyblogs/p/7282752.html)
本教程以64位win10系统为例在本地搭建svn服务器,安装完成后,即可访问本地svn服务器上的项目,也可以访问网上其他svn服务器上的项目。
1、首先准备三个软件:
1.VisualSVN-Server-3.6.3-x64.msi(svn服务端)
2.TortoiseSVN-1.9.6.27867-x64-svn-1.9.6.msi(svn客户端)
3.LanguagePack_1.9.6.27867-x64-zh_CN.msi(TortoiseSVN 的汉化包)
软件下载地址:http://subversion.apache.org/packages.html
打开网页拉到最后,看到以下的软件下载下来
接下来是TortoiseSVN汉化包,跟TortoiseSVN同一个页面要点击https://tortoisesvn.net/downloads.html
2、安装
好了,接下来是具体的安装过程,安装顺序是
1.VisualSVN-Server-3.6.3-x64.msi(svn服务端)
2.TortoiseSVN-1.9.6.27867-x64-svn-1.9.6.msi(svn客户端)
3.LanguagePack_1.9.6.27867-x64-zh_CN.msi(TortoiseSVN 的汉化包)
(1)我们先安装:VisualSVN-Server-3.6.3-x64.msi
当然,你可能发现没有看到东西,那是我们还没设置账号和密码
添加user 如下:
然后添加一个groups
接着去修改一下项目的配置文件
变成这样
继续配置
本地访问
好,现在可以去浏览器访问了,可以直接在浏览器地址栏输入 localhost , 回车 或者以下方法
然后 user 的作用出来了,浏览要授权一下
成功了!!!!!!
以上 svn服务器安装完成
(2)安装:TortoiseSVN-1.9.6.27867-x64-svn-1.9.6.msi(svn客户端)
这个比较简单,一直next 就行
如果在电脑文件空白处右击,出现以下情况就是安装成功
(3)汉化: LanguagePack_1.9.6.27867-x64-zh_CN.msi
以上svn客户端安装完成并且汉化成功!!!!!!!!
三、如何切换svn的账号?
对于程序员来说,svn使用的比较广泛,平时用来更新或者是提交代码,刚登陆svn账号的时候,一般都是选择记住密码的了,免得每次更新或提交时都要输入密码,那么记住密码之后的svn账号,要切好到另外一个svn账号,要如何切换呢?
第一次登陆svn账号的时候,为了方便下次使用,一般都是记住账号密码的了。
若是要将当前的svn账号切换到另外一个svn账号:在空白的地方右击,然后将鼠标放在‘TortoiseSVN’上面,在出现的子菜单中选择‘设置’。
在 设置 窗口中的左侧找到‘已保存的数据’并点击它,然后将右侧的所有‘清除’都点击一遍,然后点击 保存 。(其实只要清楚认证数据就行了)
这个时候,再次右击,然后选择‘svn更新’或‘svn提交’的时候,它就会要求你重新输入账号和密码了,这个时候,你就可以输入你要切换到的账号和密码了,然后点击 ‘确定’即可。
四、如何布置项目
如何新建版本库可以查看上面的VisualSVN部分,此处不提。我们来看看如何部署项目到程序目录中。
首先在你想要部署项目的盘中新建一个文件夹,然后点进去,之后选择右键TortoiseSVN,我们点击“SVN Checkout”,拉取远程的svn库文件。
svn弹出一个框需要您填入您的远程svn库的URL地址,填写好后点击“OK”,又会弹出框让你填您svn库的账号和密码,填写好点击“OK”就好了
我们可以看到文件夹出现了.svn的文件夹,外部的文件夹test出现了绿色的对钩,说明已经加入控制。
此时我们只需复制代码或者文件到我们的test目录,然后右键选择SVN提交,这样就完成了项目的部署操作。
五、SVN:由于目标机器积极拒绝,无法连接的解决方法
安装完TSVN之后,checkout时报错,并且后来在cmd命令行下,测试svn的3690端口是否打开:telnet localhost 3690 ,结果也是不成功,后来发现少执行了一步操作。
正确的做法:安装完TSVN之后,在subversion的安装路径下,找到bin文件夹,需要完成下面几步操作:
1、在下面新建一个setupservice.bat文件,内容是
sc create svnserve binpath= "C:/Program Files/Subversion/bin/svnserve.exe --service -r d:/svnhome" depend= Tcpip start= auto
sc start svnserve
pause
保存
2、运行,这是在服务里可找到一个名为svnserve的服务。这样就不会报“由于目标机器积极拒绝,无法连接。”这个错了。
我后来找到了我是因为没有执行第二步,所以svnserve没有作为一个服务启动。
这是在cmd命令行下查看打开的端口:netstat -ano就看到3690端口打开了
3、打开TortoiseSVN之后,选择setting内的saved data:
全部选择clear之后,重新登录就好了。
4、由于我是自己电脑上面设置的SVN服务器,联想到可能由于电脑ip发生了变化,导致原来的地址无法连接上,于是我试了一下,发现果然如此,接下里的步骤是右击项目,选择重定位,修改ip地址即可,然后再次登录,就ok了!由于每次ip地址都会有所变化,所以布置在云服务器上固定ip是最好啦,我每次开机都需要重新修改一次,还是挺麻烦的