【转】Windows平台下的Subversion安装配置新手指南
原文地址:http://developer.51cto.com/art/201005/199628.htm
本文介绍Subversion安装配置快速指南,首先讲Subversion的安装和配置,Unix/Linux下一般已安装或者使用软件包管理机制安装,非常方便,而配置过程基本是一样的,在这里我 们只讲Windows平台下的安装。
一、首先下载所需的软件:
Subversion: http://subversion.tigris.org/
Windows下的客户端TortoiseSVN: http://tortoisesvn.tigris.org/
二、安装软件
Subversion安装配置时直接双击运行安装,先装Subversion官方文件,安装完成后会自动添加%Subversion%\bin到Path环境变量中。也就是说你现在已经可以在命令行中使用Subversion了。进入CMD,输入svn
--version,看一下运行效果。
接着安装TortoiseSVN客户端,这是一个非常方便,易于使用的客户端。一路Next下去安装完成,然后会问你是否重启,重启是为了让TortoiseSVN的工作目录样式生效,选择重启就可以了。
三、创建Repository
创建Repository,也就是版本库,我选择的路径是E:\svnRoot,命令行:svnadmin create E:\svnRoot
这样就在E:\svnRoot创建了版本库,SVN在该目录下创建了许多文件,我们最好不要手动编辑或里面的数据文件,当然conf目录下的配置文件除外。关于版本库以及我们的项目组织,后面我还会讲到。
四、选择Subversion的网络协议
在Subversion安装配置中Subversion服务器支持多种网络协议。最直接的file:///可以在本机以及网络驱动器
上使用,然后还提供了svn, svn +
ssh以及http访问方式。到底选择哪一个要根据情况进行选择,功能越强大的协议,你需要付出的管理也越多。所以对于我们来说,Subversion自
已的svn协议就够了。当然,你可以在任何时候改变Subversion服务器使用的协议,甚至你可以同时使用不同的协议。
五、配置用户和权限
Subversion使用文件来配置用户以及权限,在E:/svnRoot/conf/目录下打开svnserve.conf和passwd文件svnserve.conf,删除下面行前面的#号注释:
[general]
anon-access = read
auth-access = write
password-db = passwd
passwd中配置用户和密码
[users]
jkzqw = 123456
含义是:
未验证用户无任何权限(如果把none修改为read就是给予读权限)
已验证用户给予写权限(当然也能读)
密码数据存放到passwd文件中
【注意】anon-access=none这条必须显示写出来,否则会有一个默认权限,别人可能不用登陆就能看到你的项目!
然后打开同目录的passwd文件来设置帐户:
同样,设置[users]小节中行前没有#号的内容,例如:
admin=zhang
含义是:
用户admin的密码为zhang
该目录下还有一个authz的文件,用来针对不同的目录给用户分配不同的权限。
六、启动Subversion服务器
我们选择的是svn访问协议,使用下面命令即可启动SVN服务器
svnserver -d -r E:\svnRoot
七、初始导入项目
假设我们有一个HelloWorld项目,在E:\work\HelloWorld目录下,在CMD中进入到E:\work\HelloWorld,输入下面命令导入项目到版本库中:
E:\work\HelloWorld
> svn import -m "initial import project HelloWorld"
,svn://localhost/HelloWorld/trunk,svn会首先尝试使用系统用户名,如果你配置的用户名不一样,就直接忽略回车,然后输入你的用户名和密码
注意这里我们把HelloWorld目录下的所以文件以及子目录(不包括HelloWorld目录本身)导入到 svn://localhost
/HelloWorld/trunk路径下,这里我们遵循的是Subversion推荐的项目路径,trunk作为项目开发的主线,以后会相继创建
branches和tags作为分支和标签记录。现在你可以删除HelloWorld目录了,因为SVN已经给我们保存了项目。
八、使用Subversion管理项目
项目导入以后,我们的开发步骤就变成了:首先签出项目,对项目进行修改,(运行测试通过),最后提交修改。
首先checkout项目E:\work > svn checkout svn://localhost/HelloWorld/trunk HelloWorld
这样就把项目所有文件都签出到了HelloWorld目录下,接下来你就需要对项目进行开发修改
最后提交修改
E:\work\HelloWorld > svn commit -m "fix bug 3012"
这样你的修改就提交到了版本库中,SVN对自动对修订版本号进行修改。注意如果你在项目中新增或者删除了文件或目录,则需要相应使用svn add或者svn delete命令进行操作,最后再使用svn commit一次提交上去
九、配置svnserver作为系统服务
你可能想将svnserver配置为系统服务,以便开机便可以自动启动svnserver服务,不用每次都这么麻烦手动启动。最新的Subversion可以使用简单的命令来创建Windows服务了,CMD输入下面命令:
sc
create svnserve binpath= "E:\Subversion\bin\svnserve.exe --service -r
E:\svnRoot" start= auto displayname= "Subversion Server" depend= Tcpip
注意上面命令需要一次输入,中间不要回车,而且" =
"号后面必须有一个空格,另外请根据你自己的安装路径以及版本库修改命令。直接使用svn命令操作Subversion很麻烦,所以就有了易于使用TortoiseSVN客户端,在Windows下使用相当方便,只需要鼠标点击几下就可以完成很多操作,到这里Subversion安装配置基本完成。
【转】Windows平台下的Subversion安装配置新手指南的更多相关文章
- Windows 平台下 LiteIDE 的安装和使用
1. 安装 Go 语言并设置环境变量 参考博客<Windows 平台下 Go 语言的安装和环境变量设置>. 2. MinGW 的下载和安装 Windows 下的 Go 调试还需要安装 Mi ...
- 【原创】Windows平台下Git的安装与配置
一.下载 msysgit是Git for Windows版,其Home Page为:http://msysgit.github.io/ 点击页面中“Download”进入下载列表.可根据个人喜 ...
- Windows平台下Java,tomcat安装与环境配置
问题描述:在Windows下面做Java web相关的项目的时候,Java和tomcat是基础,这里记载一下Java环境的配置以及tomcat的安装和配置. 使用工具:Windows.jdk安装包.t ...
- Windows平台下nginx跨域配置
1)下载地址: http://nginx.org 2)启动 解压至d:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹D:\n ...
- GO语言学习(二)Windows 平台下 LiteIDE 的安装和使用
1. 安装 Go 语言并设置环境变量 参考GO语言学习(一) 2. MinGW 的下载和安装 Windows 下的 Go 调试还需要安装 MinGW. 2.1 下载安装工具的安装 最新版本下载安装工具 ...
- windows平台下MySQl的安装、破解和使用
#1.下载:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/ #2.解压 如果想要让MySQL安装在指定目录,那么 ...
- Windows平台下gitbook的安装与使用
最近要用到gitbook去阅读电子书,整理了一份在windows系统下安装gitbook的过程. * 安装nodejs * 安装cnpm * 搭建gitbook平台 1.在windows上安装node ...
- windows平台下node,npm,gulp配置
参考文献:http://blog.csdn.net/yuanyuan214365/article/details/53749583 1.安装nodejs:nodejs nodejs安装路径随意 nod ...
- Windows平台下PHP开发环境的配置
Windows平台下PHP开发环境的配置 一.基本环境 1.Windows XP 32位 2.Apache 2.2.25,下载地址:http://mirror.bit.edu.cn/apache/ht ...
随机推荐
- 【C#公共帮助类】WinRarHelper帮助类,实现文件或文件夹压缩和解压,实战干货
关于本文档的说明 本文档使用WinRAR方式来进行简单的压缩和解压动作,纯干货,实际项目这种压缩方式用的少一点,一般我会使用第三方的压缩dll来实现,就如同我上一个压缩类博客,压缩的是zip文件htt ...
- IT基础架构规划方案一(网络系统规划)
背景 某集团经过多年的经营,公司业务和规模在不断发展,公司管理层和IT部门也认识到通过信息化手段可以更好地支撑公司业务运营.提高企业生产和管理效率.同时随着新建办公 ...
- hibernate的get和load的区别
在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对 ...
- Android调用webservice的例子
1.需要一个ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar的架包. 2.需要知道webservice的命名空间 // WSDL文档中的命 ...
- GreenDao3.0新特性解析(配置、注解、加密)
Greendao3.0release与7月6日发布,其中最主要的三大改变就是:1.换包名 2.实体注解 3.加密支持的优化 本文里面会遇到一些代码示例,就摘了官方文档和demo里的例子了,因为他们的例 ...
- SVN为什么比Git更好
首先我表明一个根本的立场,我个人更喜欢用Git,但是,这仅仅是一个个人偏好.当我们需要将一种技术方案带给整个团队的时候,并不是由我们的个人偏好作为主要决定因素,而应该充分去权衡利弊,选择对团队,对公司 ...
- JAVA NIO Scatter/Gather(矢量IO)
矢量IO=Scatter/Gather: 在多个缓冲区上实现一个简单的IO操作.减少或避免了缓冲区拷贝和系统调用(IO) write:Gather 数据从几个缓冲区顺序抽取并沿着通道发送,就好 ...
- MySql索引总结
索引概念 B+树索引分为聚集索引和非聚集索引(辅助索引),但是两者的数据结构都和B+树一样,区别是存放的内容. 可以说数据库必须有索引,没有索引则检索过程变成了顺序查找,O(n)的时间复杂度几乎是不能 ...
- php使用microtime(true)查看代码执行时间
microtime() 函数返回当前 Unix 时间戳和微秒数. 如果带个 true 参数, 返回的将是一个浮点类型 round() 取出小数点后 3 位 $t1 = microtime(true); ...
- 安装phpstudy之后发现80端口被占用
安装phpstudy之后发现80端口被占用: 进入cmd的界面,在输入"netstat -ano",按回车键后,会显示当前电脑中程序占用的端口和程序ID等等信息:看到第一条就是:0 ...