TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,不需要为使用它而付费。





TortoiseSVN是 Subversion 的 Windows 扩展。它使你避免接触 Subversion 枯燥而且不方便的 Command Line。它完全嵌入 Windows Explorer,使用时只需在正常的窗口里右键操作就可以了。

Tortoisesvn下载安装

文章包含被禁用的url,无法保存和发布。

我们安装版本TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi

下载地址:http://pan.baidu.com/s/1jG9PONk

如果是64为系统安装:TortoiseSVN-1.7.7.22907-x64-svn-1.7.5

下载:http://pan.baidu.com/s/1pJv213X

在这里,我们电脑要已经安装SVN并且启动了才可以一下实验;

启动svn服务:svnserve -d -r C:\repository\svn

在服务器上创建仓库:

手动创建目录C:\repository\svn\test

创建成功,和用命令创建的一样

如下:

创建客户端:

创建目录C:\client\zhangshan  (记得启动SVN服务)

进入该目录,右击→SVN Checkout 填写URL:svn://localhost/test →OK

创建成功,新建a.java,将a.java纳入版本控制:右击a.java→TortoiseSVN→Add..

设置权限:

修改:C:\repository\svn\test\conf\svnserve.conf

12,13 行 

anon-access = read

auth-access = write

20行:password-db = passwd

27行:authz-db = authz



修改C:\repository\svn\test\conf\passwd 

添加:相当分配三个帐号

zhangsan = 123

lisi = 123

wangwu = 123

修改C:\repository\svn\test\conf\authz

添加两段:

最好手动修改不要复制,复制有时候会有问题可能是格式之类的;

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
hquGroup = zhangsan,lisi

# [/foo/bar]
# harry = rw
# &joe = r
# * =

[/]
@hquGroup = rw
wangwu = rw
 * =

@hquGroup = rw   #组前面用@不然会被当成人

 * =     #除了以上的人剩下的是*没有任何权限

提交:右击commit,填写messages;输入用户名密码 zhangsan 123 提交成功;

C:\client\lisi

李四也可以同样操作;

第一次使用 右击checkout

新建一个b.java  纳入版本控制 提交;

第二天张三来了使用update;如果只更新一个,选中它右击update即可;提交选中的也可以;

导入文件结构:

新建文件夹test,在test新新建doc和src,右击tset TortoiseSVN→Import,将当前的test结构导入到SVN服务器上;

权限控制:

 

修改C:\repository\svn\test\conf\authz

[/]

@hquGroup = rw

wangwu = rw

 * =

zhangsan,lisi对doc文件夹有读的权限没有写的权限:

[/doc]

@hquGroup = r

wangwu = rw

 * =

王五对src文件夹有读的权限没有写的权限:

[/doc]

@hquGroup = rw

wangwu = r

 * =

问题:张三的修改a.java 的时候 李四也在修改a.java 导致冲突

张三修改完a.java, 提交,李四也修改完a.java提交报错:

说a.java已过时,要先update;李四update后冲突

冲突后产生如下:

a.java.mine是自己写的(李四)

a.java.r3 是没更新也没修改之前的

a.java.r4 是张三写的

a.java 是张三李四写的处理后的

解决办法:

编辑冲突

第一和第二个都是以自己为本覆盖,三四个 是整合一起,一般使用三四选项

修改完,保存

右击a.java标记已解决 右击a.java→TortoiseSVN→Resolved...

然后就可以了,两个人写的代码就整合到一起了,然后李四这里在提交就可以了

百分百避免冲突:

锁定:

右击要设置的文件 右击a.java TortoiseSVN→Properties→New Property name:svn:needs-lock Property valu:true,

右击提交;

这样a.java 修改不了,要修改要get lock,张三get lock后 没有提交,李四不能操作a.java 不能get lock;要张三gen lock后修改完提交以后,别人才可以操作a.java;这样就肯定不会冲突了;

释放锁  拿到锁后,选中右击TortoiseSVN→Release lock

解锁 右击a.java TortoiseSVN→Properties Remove



这个方法在实际开发中不常用,导致效率低;

导出:项目做完了,里面有很多原信息文件.svn ..,我们右击桌面TortoiseSVN→Reop-browser选择数据仓库,登陆,右击左边的数据仓库 Export选择要导出到的文件夹 OK,倒出来的就是我们最终的代码;

Tortoisesvn图标介绍



恢复版本:

在客户端目录 右击 TortoiseSVN→Update to revision… Show log可以查看版本选择要恢复的OK就可以,右击TortoiseSVN→Export . 选择路径 就可以导出,执行update恢复到最新坂本;





注意:.svn这个隐藏目录记录着两项关键的信息: 工作文件的基准版本和一个本地副本最后更新的时间戳。千万不要手工修改或删除这个 .svn隐藏目录和里面的文件!!! 否则将会导致你本地的工作拷贝 (静态视图)被破坏,无法再进行操作。

TortoiseSVN使用的更多相关文章

  1. TortoiseSVN的使用

    1.安装和下载client客户端 (1)下载windows端程序:http://tortoisesvn.net/downloads.一般而言,如果是32bit操作系统,运行TortoiseSVN-1. ...

  2. 利用TortoiseSVN获取最新版本的OpenCV源码

    转自: http://blog.csdn.net/vsooda/article/details/7555969 1.下载安装TortoiseSVN:http://tortoisesvn.net/dow ...

  3. TortoiseSvn的安装过程详解

    运行TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi程序, 开始安装 点击Next, 下一步 选择 I accept 接受, 点击Next, 下一步 选择安装路径 ...

  4. 如何让TortoiseSVN导出新增或修改过的文件

    利用Windows系统下的TortoiseSVN客户端,可以导出指定版本之间修改过的文件,并保留完整的文件夹结构.下面我就来说说操作的步骤: 1.在网站项目的根目录下右键选择 “TortoiseSVN ...

  5. TortoiseSVN Clean up 失败的处理方法

    当使用 TortoiseSVN 下载项目失败之后,重新下载之前需要 Clean up,在 TortoiseSVN 中 Clean up 总是失败.   在命令行行中执行 svn cleanup 就成功 ...

  6. 【TortoiseSVN使用教程】

    TortoiseSVN使用教程 TortoiseSVN是一个SVN的客户端 1.Checkout Repository        首 先要Checkout服务器端的Repository,所谓的Ch ...

  7. (转)TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

    本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...

  8. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

    本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...

  9. TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库

    TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...

  10. 配置TortoiseSVN客户端, 强制签入前加注释

    正如上篇提到, 总有一些人在签入代码到SVN前没有加注释, 然后, 像这样: 鬼才知道改了什么东西. ①有些人可能就是没有写注释的习惯, ②有些人可能是忘记写注释 && SVN服务端和 ...

随机推荐

  1. Anaconda入门安装教程

    Anaconda 是什么? Anaconda 是一个可用于科学计算的 Python 发行版,支持 Linux.Mac.Windows系统,内置了常用的科学计算包.它解决了官方 Python 的两大痛点 ...

  2. 亲戚(relative)

    [题目背景] Y 家是世界上最大的家族,HJZ 是其中一员. 现在 Y 家人想要拍一张全家福,却发现这是一个十分复杂的问题. . . . . . [题目描述] Y 家一共有 n 人 其中每个人最多有一 ...

  3. Uva 437 巴比伦塔 && UVA10003

    要求底面严格小于它下方立方体的长宽,求出最高情况,一块石头可以多次使用 用结构体记录一块石头的三种放置情况,按面积排序. dp[i] = max(dp[i],dp[j] + block[i].high ...

  4. [APIO2011]

    来自FallDream的博客,未经允许,请勿转载,谢谢. ------------------------------------------------------ A.[Apio2011]方格染色 ...

  5. Union和Union All 的区别

    Union和Union All 的区别: Union 是对结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All,对两个结果集进行并集操作,包括重复行,不进行排序: Inter ...

  6. IE6浏览器有哪些常见的bug,缺陷或者与标准不一致的地方,如何解决

    IE6不支持min-height,解决办法使用css hack: .target { min-height: 100px; height: auto !important; height: 100px ...

  7. 自定义alert窗口样式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Hibernate的条件查询的几种方式

    1. 第一种,用?占位符,如: //登录(用?占位符) public List<UserPO> LoginUser(UserPO up)throws Exception{ Session ...

  9. java 学习笔记2 面向对象(上)

    类和对象 类是某一批对象的抽象,可以把类理解成某种概念.对象是一个具体存在的实体.类和对象是面向对象的核心. 类定义的是多个实例的特征,类不是具体存在,实例才是具体存在. 定义类(class)的语法: ...

  10. redux 最简例子

    方便初学redux的同学学习,这里是最简单的redux例子 1 import React, {Component, PropTypes} from 'react' 2 import ReactDOM ...