`

svn版本控制

svn 
阅读更多

下载Setup-Subversion-1.7.6.msi
地址为:http://sourceforge.net/projects/win32svn/files/latest/download


下载安装文件
地址为:http://tortoisesvn.net/downloads.html






1 安装
Setup-Subversion-1.7.6.msi
ortoiseSVN-1.7.10.23359-win32-svn-1.7.7.msi
svn -version查看当前版本
2 subversion 安装成功后, 修改环境变量 path中添加E:\software\TortoiseSVN\bin


3 在启动svn前需要先建立一个文档仓库

新建目录E:\software\repository\svn
我们使用svn服务器端命令 svnadmin建立 如下:


svnadmin create E:\software\repository\svn\yue




4 文档仓库建好后,我们进行subversion启动

第一种方式:命令行启动,我们使用服务器端命令 svnserve 如下:

svnserve -d -r E:\software\repository\svn\yue


启动后我们如何知道svn启动成功呢? 我们查看端口使用情况:

netstat -an


我们看到3690端口服务,说明启动成功




第二种方式:安装svn后配置windows自动启动服务


sc create SVN-Service binpath= "E:\software\Subversion\bin\svnserve.exe --


service -r E:\software\repository\svn" displayname= "SVN-Service" start= auto depend=


Tcpip


binpath 指定svnserve 的路径和命令
start= auto 表示服务自动启动。注意:等于号的左边无空格,而右边必须有一个


空格
Displayname、start、depend
在此命令中-r(--root)项目版本仓库的根目录,如果是建单仓库则要指定仓库名



启动服务


net start SVN-Service





查看服务是否添加成功,可以选择windows 控制面板--》》管理工具--》》服务 会发现列


表中有SVN-service服务


sc delete SVN-Service




5 svn权限控制


第一步 E:\software\repository\svn\yue\conf\svnserve.conf
anon-access = none
auth-access = write
password-db = passwd




anon-access
指明仓库匿名用户访问的权限,可选值(none:不能访问;read:匿名可读;write:匿
名可写),一般设置为none,避免匿名访问,出非你的项目为开源项目。
auth-access
指明被授权通过的用户的权限,可选值同上。
password-db
指定了被授权用户的用户名及密码的文件,可以在passwd 文件中设置用户名与密码。
authz-db
实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限,在
Subversion 1.3 之后,svnserve 和Apache 一样都可以使用“authz-db”文件


第二步 E:\software\repository\svn\yue\conf\passwd
passwd
默认在[users]下有两个被注释了的用户信息,可通过去掉注释或自
己增加一行用户信息。例如:
yue = yue (前面是用户名,后面是密码)


第三步 E:\software\repository\svn\yue\conf\authz
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
yue = yue


[yue:/] 指明仓库
@yue = rw 按组指定权限
zhenhua = rw 按用户指定权限
* = 其他用户








将项目添加到版本库中
在项目文件夹上“右键 -> TortoiseSVN -> Import...” ,在弹出对话框的“URL of repository”


输入“svn://localhost/yue/文件名”。在“Import message”输入注释。




























5 svn 命令介绍

将项目检出 至user目录下:svn checkout URL [PATH]

svn checkout svn://localhost/yue/ E:\develop\workroom\user


svn checkout svn://localhost/yue/ E:\develop\workroom\user2


输出内容:




###########################################
# A user\*.* #
# ....... #
# 取出版本1 #
###########################################




将改动的文件提交至版本库:svn commit -m "log des" PATH


我们修改user文档中的user.java文件,修改一些内容,然后提交至版本库:


svn commit -m "this is the first commit " E:\develop\workroom\user\user.java
(如果当前目录已为user, 则只需svn commit -m "this is the first commit "


user.java)
输出内容:


###########################################
# 正在发送 user.java #
# 传输文件数据 #
# 提交后的版本为2 #
###########################################



更新你的工作拷贝 : svn update [PATH...]


我们将 user.java 更改后的内容更新至 user2目录


进入user2目录
cd E:\develop\workroom\user2
svn update

svn update E:\develop\workroom\user2

输入内容如下:
###########################################
# U E:\develop\workroom\user2 #
# #
# 更新到版本2 #
###########################################
注意:更新要经常频繁的做,尽量让问题及早暴露,便于处理
提交代码前要更新,否则容易产生版本冲突




向版本库中添加一个新文件:svn add PATH...


我们在user中建立一个新文件user.java, 然后添加到版本库中:


svn add E:\develop\workroom\user\user.java


输入内容:
###########################################
# A user.java.java #
# #
###########################################



Ok,添加后我们将新文件更新至user2目录中:
进入user2目录
cd E:\develop\workroom\user2\


svn update E:\develop\workroom\user2


输出内容:
###########################################
# 版本2 #
# #
###########################################
但是并没有更新user.java下来。


添加到版本库,文件并没有提交,因此我们需要提交:


svn commit -m "this is the usert class" F:\develop\workroom\user\UserT.java


输出内容:
###########################################
# 添加user.java #
# 传输文件数据。 #
# 提交后的版本为3 #
###########################################




OK,我们对user2再次更新:
svn update E:\develop\workroom\user2


输出内容:
##############################################
# A E:\develop\workroom\user\user.java #
# #
# 更新到版本3 #
##############################################




从版本库中删除一个文件:svn delete PATH...


假如我们要删除user下的UserT.java文件:

svn delete E:\develop\workroom\user2\user.java


输出内容:
##############################################
# D E:\develop\workroom\user\user.java #
# #
# #
##############################################


但注意的是svn delete 不会立即从版本库删除,而是会在下次提交删除。

svn commit -m "delete this class" F:\develop\workroom\user\user.java




从版本库中删除一个文件,再取消删除操作:svn revert PATH...


假如我们要删除user.java
svn delete user.java


输出内容:
#####################################################
# D E:\develop\workroom\user\user.java #
# #
# #
#####################################################


但这个时候我们又不想删除了,我们可以:


svn revert user.java
输出内容:
#####################################################
# 已恢复 user.java #
# #
# #
#####################################################


显示本地或远程条目的信息 svn info


我们显示出 本地user 目录的信息


首先进入我们的workroom 目录


svn info user




显示版本库中的条目 svn list

我们显示出版本库中yue 的条目


svn list svn://localhost/yue


查看当前工作区状态 svn status


我们进入工作区目录 即 user目录

svn status


系统会列出需要添加,删除或者更新的文件
一般来说有如下几种开头
A添加
D删除
U更新
C冲突
G合并




获取帮助信息: svn help ...


假如我们想查看svn 客户端命令中的 checkout 的使用方法


svn help checkout




获取 add 命令的帮助信息: svn help


svn help add 等同于 svn add --help


分享到:
评论

相关推荐

    清除项目SVN版本控制.zip

    "清除项目SVN版本控制.zip"这个压缩包显然提供了帮助开发者或团队解除项目中SVN版本控制的解决方案。以下是关于SVN以及如何清除版本控制的详细知识: 1. SVN简介:Subversion是一个开源的版本控制系统,它允许用户...

    svn版本控制操作手册

    【SVN 版本控制操作手册】 版本控制是软件开发中的一项关键技术,它允许团队成员协同工作,同时保持代码的历史记录。Subversion(SVN)是一种流行的开源版本控制系统,用于管理文件和目录的变更。本文将指导你如何...

    svn版本控制工具

    svn版本控制工具 windows版本 安装版

    SVN版本控制清除工具

    总之,SVN版本控制系统提供了强大的文件管理和协同功能,而清理.SVN子目录则是为了特定目的,如节省空间或保护隐私。通过编写脚本或使用专用工具,可以轻松实现这一操作。但一定要谨慎,确保在删除前理解其可能带来...

    Eclipse中SVN版本控制插件的安装和使用.doc

    Eclipse 中 SVN 版本控制插件的安装和使用 一、SVN 服务端安装和配置 * 下载 Subversion 服务器软件:可以从官方网站下载最新版本的 svn 服务器软件,例如 svn-1.4.3-setup.exe。 * 安装 Subversion 服务器:直接...

    SVN版本控制工具以及介绍.

    版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中, 确保由不同人所编辑的同一档案都得到更新。 版本控制透过文档控制(documentation control)记录程序各个模组的改 动,并为每次改动编上序号。...

    SVN版本控制

    以下是关于SVN版本控制系统的详细知识: 1. **版本控制系统**:SVN的核心功能是管理文件和目录的不同版本,使得在多人协作的环境中,可以跟踪每个成员的改动,并能够合并冲突,保持项目的一致性。 2. **集中式模型...

    SVN版本控制器的配置及使用和安装文件

    在这个“SVN版本控制器的配置及使用和安装文件”压缩包中,包含了关于如何配置和使用SVN服务器和客户端的详细资料,以及如何存取和管理数据的方法。 首先,我们需要了解SVN的基本概念。SVN的核心是仓库(Repository...

    SVN版本控制器 + 语言安装包 (Win)

    标题中的"SVN版本控制器 + 语言安装包 (Win)"指的是包含了SVN版本控制器的TortoiseSVN客户端以及语言包,适合在Windows操作系统上使用。TortoiseSVN的版本号为1.11.1,构建号为28492,且是64位版本。语言包则是...

    最新SVN版本控制带汉化

    ** SVN(Subversion)版本控制系统详解 ** SVN,全称Subversion,是一种广泛使用的集中式版本控制系统,它能够管理项目中的源代码、文档等文件的版本,使得多个开发者可以协同工作并跟踪每一次修改,有效地避免了...

    安全删除svn版本控制文件夹

    有svn版本控制的文件,有时候需要修改路径,一层一层的删除文件夹太麻烦,这个小工具,安装之后,右键即可安全删除.svn folder,方便易用。

    SVN版本控制原理SVN版本控制原理

    SVN版本控制原理SVN版本控制原SVN版本控制SVN版本控制原理原理理SVN版本控制原理

    Eclipse下使用SVN版本控制

    Eclipse下使用SVN版本控制 Eclipse下使用SVN版本控制是软件配置管理(SCM)的重要组成部分。SCM是管理源码并保持其安全的良好艺术,它能实现源码与其他团队成员之间保持共享,并且能够对之加以保护。良好地利用SCM...

    VS2017 自动获取SVN版本控制号

    本篇将详细介绍如何在VS2017中配置自动获取SVN版本控制号,以便在每次编译时更新代码中的版本号。 首先,我们需要了解SVN版本号是什么。SVN reversion版本号是Subversion仓库中特定提交的唯一标识,它反映了代码库...

    SVN版本控制工具介绍.pdf

    ### SVN版本控制工具详解 **一、SVN概述** Subversion,简称SVN,是一种集中式的版本控制系统,自2000年初由CollabNet发起并由Karl Fogel和Jim Blandy等人共同设计,旨在克服CVS的缺陷,提供更强大的版本控制功能...

    删除SVN版本控制目录工具

    然而,在某些情况下,用户可能需要从本地系统中彻底删除受SVN版本控制的目录,这通常涉及到移除SVN元数据,而不仅仅是简单的文件删除操作。"删除SVN版本控制目录工具"就是为了解决这个问题而设计的。 这个工具的...

    SVN版本控制系统说明

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同...

    svn版本控制器

    **svn版本控制器** 在软件开发领域,版本控制是至关重要的,它允许团队协作并跟踪代码的变更历史。Subversion(通常简称为svn)是一个开源的版本控制系统,它为开发者提供了强大的工具来管理他们的源代码和其他文件...

    svn版本控制与分支

    svn 版本控制与分支管理 svn 版本控制系统是一种常用的版本控制系统,它可以帮助开发团队更好地管理代码库。版本控制系统的主要功能是跟踪代码的变化,记录每个版本的修改记录,并提供了多种操作版本的方式,例如...

Global site tag (gtag.js) - Google Analytics