TortoiseSVN使用
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使用的更多相关文章
- TortoiseSVN的使用
1.安装和下载client客户端 (1)下载windows端程序:http://tortoisesvn.net/downloads.一般而言,如果是32bit操作系统,运行TortoiseSVN-1. ...
- 利用TortoiseSVN获取最新版本的OpenCV源码
转自: http://blog.csdn.net/vsooda/article/details/7555969 1.下载安装TortoiseSVN:http://tortoisesvn.net/dow ...
- TortoiseSvn的安装过程详解
运行TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi程序, 开始安装 点击Next, 下一步 选择 I accept 接受, 点击Next, 下一步 选择安装路径 ...
- 如何让TortoiseSVN导出新增或修改过的文件
利用Windows系统下的TortoiseSVN客户端,可以导出指定版本之间修改过的文件,并保留完整的文件夹结构.下面我就来说说操作的步骤: 1.在网站项目的根目录下右键选择 “TortoiseSVN ...
- TortoiseSVN Clean up 失败的处理方法
当使用 TortoiseSVN 下载项目失败之后,重新下载之前需要 Clean up,在 TortoiseSVN 中 Clean up 总是失败. 在命令行行中执行 svn cleanup 就成功 ...
- 【TortoiseSVN使用教程】
TortoiseSVN使用教程 TortoiseSVN是一个SVN的客户端 1.Checkout Repository 首 先要Checkout服务器端的Repository,所谓的Ch ...
- (转)TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...
- TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库
TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...
- 配置TortoiseSVN客户端, 强制签入前加注释
正如上篇提到, 总有一些人在签入代码到SVN前没有加注释, 然后, 像这样: 鬼才知道改了什么东西. ①有些人可能就是没有写注释的习惯, ②有些人可能是忘记写注释 && SVN服务端和 ...
随机推荐
- Anaconda入门安装教程
Anaconda 是什么? Anaconda 是一个可用于科学计算的 Python 发行版,支持 Linux.Mac.Windows系统,内置了常用的科学计算包.它解决了官方 Python 的两大痛点 ...
- 亲戚(relative)
[题目背景] Y 家是世界上最大的家族,HJZ 是其中一员. 现在 Y 家人想要拍一张全家福,却发现这是一个十分复杂的问题. . . . . . [题目描述] Y 家一共有 n 人 其中每个人最多有一 ...
- Uva 437 巴比伦塔 && UVA10003
要求底面严格小于它下方立方体的长宽,求出最高情况,一块石头可以多次使用 用结构体记录一块石头的三种放置情况,按面积排序. dp[i] = max(dp[i],dp[j] + block[i].high ...
- [APIO2011]
来自FallDream的博客,未经允许,请勿转载,谢谢. ------------------------------------------------------ A.[Apio2011]方格染色 ...
- Union和Union All 的区别
Union和Union All 的区别: Union 是对结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All,对两个结果集进行并集操作,包括重复行,不进行排序: Inter ...
- IE6浏览器有哪些常见的bug,缺陷或者与标准不一致的地方,如何解决
IE6不支持min-height,解决办法使用css hack: .target { min-height: 100px; height: auto !important; height: 100px ...
- 自定义alert窗口样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Hibernate的条件查询的几种方式
1. 第一种,用?占位符,如: //登录(用?占位符) public List<UserPO> LoginUser(UserPO up)throws Exception{ Session ...
- java 学习笔记2 面向对象(上)
类和对象 类是某一批对象的抽象,可以把类理解成某种概念.对象是一个具体存在的实体.类和对象是面向对象的核心. 类定义的是多个实例的特征,类不是具体存在,实例才是具体存在. 定义类(class)的语法: ...
- redux 最简例子
方便初学redux的同学学习,这里是最简单的redux例子 1 import React, {Component, PropTypes} from 'react' 2 import ReactDOM ...