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服务端和 ...
随机推荐
- java多线程的字符流与字节流
字节流: package com.wz.thread.stream;import java.io.PipedOutputStream;/** * 字节输入流 * @author Administrat ...
- 用redis的订阅发布解决了扫码支付实时响应的问题
一.场景描述: PC收银台的浏览器展示了收款二维码,用户扫了支付二维码,支付完成后,浏览器需要实时响应支付结果. 二.问题描述: 扫码支付的支付结果一般通过服务端回调和主动查询来获取,显示二维码之后, ...
- [JSOI 2011]分特产
Description JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望 ...
- LOJ #6031 字符串
Description Solution 当 \(k\) 值较小时,发现询问串比较多,串长比较小 然后对 \(Q\) 个询问区间离线跑莫队,一次考虑每一个区间的贡献 假设一个区间 \([i,j]\) ...
- ●BZOJ 4310 跳蚤
●赘述题目 给出一个字符串,要求分成k个子串,然后求出每个子串的字典序最大的子串(我称它为子子串),要使这k个子子串中的字典序最大的那个串(即魔力串)最小.输出该魔力串. (本题个人感觉很好,比较综合 ...
- hzoj 2301(莫比乌斯反演)
题意 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公 数. 思路: 与先前的那个相比,这次a,c并不一定 ...
- [BZOJ]4199 品酒大会(Noi2015)
讲道理是后缀数组裸题吧,虽然知道后缀数组的原理但是小C不会写是什么鬼.. 小C趁着做这题的当儿,学习了一下后缀数组. 网络上的后缀数组模板完全看不懂怎么破,全程照着黄学长的代码抄,感觉黄学长写得还是很 ...
- [3.19FJ四校联考]
来自FallDream的博客.未经允许,请勿转载,谢谢. ---------------------------------------------------- A.积分,不会 以后补 B.给定一 ...
- C++函数的重载
两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参与形参的类型以及个数的最佳匹配,自动确定调用的函数,这就是函数的重载. 两个名字相同的函数必须具有不同的形参,这里的不同指的 ...
- 报表生成工具 —— iText
十二月份一直在做生成报表的功能,中间踩了不少坑,刚好今天有时间,写篇博客记录一下. 一.iText 简介 iText 是著名开放源码站点 sourceforge 的一个项目,是一个用于生成 PDF 文 ...