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服务端和 ...
随机推荐
- [HNOI 2009]最小圈
Description 考虑带权的有向图$G=(V,E)$以及$w:E\rightarrow R$,每条边$e=(i,j)(i\neq j,i\in V,j\in V)$的权值定义为$w_{i,j}$ ...
- 【IOI1998】Picture(扫描线+线段树)
问题来源:IOI1998 D2T1 题意:就是在一个平面内给出n个矩形,叫你计算将这些矩形合并以后,新图形的周长. 例如: 上图是原本的矩形们 ---------->合并后的图形 解题思路:拿一 ...
- lombok安装与简易教程(一)
lombok简单的来讲就是在编译的时候,可以帮助我们生成getter与setter等方法,减少代码量.这可是一个好东西啊 1.eclipse安装lombok java -jar lombok.jar ...
- rasa_core:基于机器学习的对话引擎
用机器学习管理你的对话,让它提升每一个对话.Rasa Core引导对话,考虑对话的历史和外部环境. 而不是成千上万的规则,Rasa 从真正的对话中挑选模式. 现在是扔掉你的状态机的时候了! Manag ...
- RTX 无法刷新组织架构的处理方法总结
文章一: 刷新组织架构问题1."客户端不能获取正确的组织架构"或"新增加的人员刷新不了组织架构"首先要判断是RTX服务器引起的异常还是一些客户端出现的异常,判断 ...
- google-gson 解析json
http://www.cnblogs.com/jianyungsun/p/6647203.html 在JSON官网我们可以查看到各个语法对json的支持,对于java来说比较成熟的是google-gs ...
- 西安电话面试:谈谈Vue数据双向绑定原理,看看你的回答能打几分
最近我参加了一次来自西安的电话面试(第二轮,技术面),是大厂还是小作坊我在这里按下不表,先来说说这次电面给我留下印象较深的几道面试题,这次先来谈谈Vue的数据双向绑定原理. 情景再现: 当我手机铃声响 ...
- filter和listener的生命周期
filter(过滤器)和listener(监听器)的生命周期 老实说 生命周期要是说成作用的时间范围我会理解的更好 filter package com.javaweb.filter; import ...
- Mysql各种引擎原理实战对比
1)存储引擎概述: (2)MySQL各大存储引擎: (3)InnoDB和MyIsam使用及其原理对比: (4)InnoDB和MyIsam引擎原理: (5)剩余引擎的使用DEMO(主要是Mrg_Myis ...
- React框架 dva 和 mobx 的使用感受
最近在用react写web项目,领导为了让前端便于维护要求都用react作为开发基础,框架选型不限.在使用 react 的时候或多或少会接触到状态管理,从开始学 react 到现在也挺久了,做一些前端 ...