SVN配置与使用

简介:





本文转自 xkdcc 51CTO博客,原文链接:http://blog.51cto.com/brantc/116675,如需转载请自行联系原作者 使用SVN已大半年了,觉得这是一个非常好用的版本控制工具,所以,根据使用经验写了这篇文档,希望对想学习使用SVN的朋友有所帮助。错误在所难免,欢迎留言或email交流。如果转载或引用,请注明我的博客:[url]http://brantc.blog.51cto.com/[/url],谢谢
 
SVN是一个自由、开放源码、跨平台的版本控制系统。它是一个通用系统,可用来管理任何类型的文件, 其中包括程序源码。  
SVN有两种运行方式,一种是基于Apache Http Server,另外一种是SVN Standalone Server。一般推荐使用基于Apache Http ServerSVN,这样做几个好处:
A.能使用WebDAV协议。
B.能使用浏览器作为客户端工具浏览源码仓库。
C.可以很容易的支持 到SSPIWindows域认证)和LDAP,这些都是Apache本身就支持的。
D.能得到比较完善的Apache安全认证系统,比如 SSL加密连接。
 
现介绍在Windows下安装、配置SVN客服端和服务器端的方法,在此说明:这是一个快速手册,需要了解详细的配置信息请参考其他资料。

一.      安装Apache

[url]http://httpd.apache.com/[/url]下载最新版的Apache For Windows,如版本apache_2.0.52-win32-x86-no_ssl.exe。注意如果IIS已在运行,需要先关闭(),或者更换IIS端口(),或者安装后更换Apache的监听端口()。如果安装Apache后没有更改监听的端口,又没有和IIS冲突。则用浏览器打开[url]http://127.0.0.1/[/url]看是否能看到Apache的欢迎页。

二.      安装SubVersion

[url]http://subversion.tigris.org/[/url]下载最新版的SVN服务器软件,如版本svn_server1.2.0.0.exe,接下来按下面的步骤对ApacheSubVersion进行配置

三.      配置Apache

1.在windows命令行提示符下,进入你Apache安装目录下的bin目录,使用命令建立Apache认证的用户:
htpasswd   -cm  <
你欲创建认证文件的绝对路径,如D:\Apache2\conf\usr_pwd> < 新用户名称 >
然后充分输入密码以确认。使用-c参数表示创建的新文件和首个用户,-m表示在usr_pwd中用MD5算法加密密码。
以后需要新建用户则使用参数-b,如:
htpasswd   -b  <
你欲创建认证文件的绝对路径,如D:\Apache2\conf\usr_pwd> <新用户名称>   < 新用户的初始密码 >
2.打开位于Apache安装目录下的conf目录下的httpd.conf文件。
在末尾加入如下的配置:
<Location /svntest> 
    DAV svn
    SVNPath "F:\svn_repository\test"
    AuthType Basic
    AuthName "Subversion for testing"
    AuthUserFile "D:\ Apache2\conf\usr_pwd"
    Require valid-user
</Location>
/svntest是客户端在导出(checkoutsvn库时,在URL of repository中填写在服务器地址后的字符串,如:[url]http://192.168.50.106/svntest[/url]
SVNPath是你欲创建的SVN库路径,创建方法在下一节。
AuthType表示认证类型,还有选项SSPI等,需要另外配置,这里使用Basic
AuthUserFile即你创建的认证文件的绝对路径。

四.      配置SubVersion

windows命令行提示符下,使用命令:
svnadmin  create  <
你的svn repository 路径,如 F:\svn_repository\test >
创建SVN库。

五.      安装和使用TortoiseSVN

在网上下载TortoiseSVN作为SVN的客户端,如:TortoiseSVN-1.2.2.4295-svn-1.2.3.msi。按提示执行默认安装,它是与window资源管理器结合在一起的。在你欲存储下载的SVN库的目录中点击右键->SVN Checkout,即弹出导出SVN的对话框。
URL of repository中填写<服务器地址+ Location>,然后点击OK按钮,如图:
如果是第一次checkout,会弹出认证对话框Authentication,输入开始在Aapche中建立的用户和密码即可通过认证,如图:
 
 
在右键菜单中有个TortoiseSVN子菜单,其中包括了TortoiseSVN的所有功能配置和使用。现介绍比较常见的几个应用:

1.更新操作

客户端需要随时保持于服务器上的文件保持一致,所以经常要更新库中的文件。在你的SVN库目录下,点击右键,会有SVN Update菜单,点击后,TortoiseSVN会自动查找你未更新的文件并下载。如果你下载的文件和你现有的文件不一致,TortoiseSVN会自动合并不冲突的部分,那么在该文件前会显示Merged字样;如果有冲突,则会提示Confilicted,如图:

2.提交操作

如果客户端对现有文件做了修改并保存,那该文件的图标会是一个感叹号。在该目录下点击右键,会有SVN Commit选项,点击后,TortoiseSVN会自动查找你修改过的文件并列出,你可以输入注释,如修改文件的原因和时间等,然后在下面的复选框中选择欲提交修改的文件,然后点击OK,就完成提交。如图:

3.比较文件

如果在你的SVN库目录中,发现文件的图标中是一个“√”,那么是TortoiseSVN提示你的文件与服务器上的不一致,你可以选择右键菜单->TortoiseSVN子菜单->Diff,即可通过TortoiseSVN的文件比较器发现确切的差异。

4.添加删除文件等操作

客户端删除库中文件的操作是:
点击右键-> TortoiseSVN子菜单->Repo-Browser如图:


通过图中的右键菜单,可以对服务器上SVN库中的文件进行日志检查(Show Log), 导出(Checkout),创建文件夹(Create Folder),添加文件(Add File) 添加文件夹(Add Folder),删除文件(Delete)等等操作。
使用Repo-Browser菜单具有很强大的功能,它是直接在对服务器上的库进行操作。

5.冲突处理

对于库中的同一文件,如果有两个人都对其中的同一部分进行了修改,那么后提交的人就会在提交时获得该文件要求更新的警告,在更新以后,TortoiseSVN提示当前工作的版本与服务器中的文件相冲突。这时文件的图标是一个感叹号。这时在该文件上点击右键,进入TortoiseSVN子菜单->Edit Conflicts,会弹出如图的编辑框TortoiseMerge


左上部是显示的服务器的文件,右上部是显示的本地文件,在下边是你处理合并后的文件,在TortoiseMerge中做的修改会反应到本地文件中,然后就可以提交。当然,你可以选择别的编辑工具编辑本地文件,以使其与服务器上的文件避开冲突。

6.锁定文件

为了防止冲突,TortoiseSVN提供了对文件的锁定功能。顾名思义,锁定文件以后,只能允许持有锁的用户才能对文件进行提交,其他用户在提交时会被提示文件被其他用户锁定,无法完成提交。使用锁定功能的方法是,在欲锁定的文件上点击右键,进入TortoiseSVN子菜单->Get Lock…如图:


在上部的输入框中输入你锁定文件的原因,在下边选择欲锁定的文件,然后点击OK即可。
当然,如果持有锁的人有事出差你不好问他的用户和密码,又必须修改他锁定的文件,TortoiseSVN在上图中提供了Steal the locks选择该复选框后,你即可以变成该文件的锁持有者,当然,你要准备好对原来的锁持有者回来后进行解释的充足理由。

7.恢复版本

有时由于提交了错误的修改,如果不想重新提交而是恢复到原来的版本时,可以在欲恢复为原来版本的文件上点击右键,使用TortoiseSVN子菜单->Update to Revision…功能,如图:


在文本输入框中输入你想恢复的版本号即可。

8.其他

TortoiseSVN提供了完善的日志记录,即经常可以见到的按钮Show Log,可以随时查看、关注某文件的修改记录。如果你还有精确到某文件的每一行被什么人、什么时间修改过,可以在该文件点击右键,进入TortoiseSVN子菜单->Blame…TortoiseSVN会用最详尽的方式为你提供参考。
TortoiseSVN
子菜单->Settings对话框保含了对TortoiseSVN的常用配置,包括图标风格和配置服务器代理等等。
目录
相关文章
|
3月前
|
存储 网络协议 Ubuntu
如何在Ubuntu安装配置SVN服务端并实现无公网ip访问内网资料库
如何在Ubuntu安装配置SVN服务端并实现无公网ip访问内网资料库
69 0
|
7月前
|
运维 Linux 数据安全/隐私保护
linux配置SVN,添加用户,配置用户组的各个权限教程
linux配置SVN,添加用户,配置用户组的各个权限教程
|
4月前
|
算法 程序员 Apache
Windows下搭建SVN服务器并配置eclipse和idea
Windows下搭建SVN服务器并配置eclipse和idea
53 1
|
4月前
|
小程序 Linux Shell
SVN配置服务器自动更新
使用svn做版本控制服务器,其实还是比较方便的,不管是从搭建还是配置上,相对于git,都要简单很多。 Linux如何搭建SVN服务器,请移步《Centos7安装SVN》
49 0
|
10月前
|
Java 开发工具 Android开发
Android studio配置svn及使用方法
Android studio配置svn及使用方法
|
10月前
|
Linux Windows
svn 钩子 hooks 的 pre-commit 配置递交文件格式,文件大小,备注必填
svn 钩子 hooks 的 pre-commit 配置递交文件格式,文件大小,备注必填
|
12月前
|
网络协议 Linux 网络安全
SVN CentOS7 下配置svn的安装及基础配置介绍
SVN CentOS7 下配置svn的安装及基础配置介绍
445 0
|
数据安全/隐私保护
如何配置SVN的服务器端和客户端(二)
3.客户端(tortoisesvn)的配置 1.双击安装包,然后点击下一步 在这里插入图片描述 2.直接点下一步 在这里插入图片描述 3.点击install,进行安装 在这里插入图片描述 4.安装结束后,点击finish 在这里插入图片描述 5.安装汉化语言包,双击安装包,然后点击next 在这里插入图片描述 7.安装结束后配置语言,桌面空白位置右键点击,找到tortoisesvn,选择setting,如下图,语言修改为中文 在这里插入图片描述 8.汉化完之后,在桌面空白位置右键单击选择检出,可以修检出的路径,修改路径后点击确定可能会出现下面的警告框,选择永久接受即可 在这里插入图片描述 9
如何配置SVN的服务器端和客户端(二)
如何配置SVN的服务器端和客户端(一)
如何配置SVN的服务器端和客户端 好些小伙伴儿在开发的时候都会遇到一个比较麻烦的事情,那就是自己开发的东西不太会整理,或者是团队一起开发,有一些东西不太好整合到一起,那这个时候你们就需要一个版本控制(管理)工具了,当然现在程序用到比较多的是GitHub和国内的码云。但是有一个团队协作也很好用的工具叫SVN,SVN是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。今天来和大家说一下怎样配置SVN的服务器和客户端。 1.下载SVN服务器端和客户端安装包 服务器端下载地址:https://www.visu
如何配置SVN的服务器端和客户端(一)
|
数据安全/隐私保护
Phpstorm配置svn
Phpstorm配置svn
222 0
Phpstorm配置svn