TortoiseSVN 和 VisualSVN Server 使用教程
TortoiseSVN 和 VisualSVN Server 使用教程
来源 https://blog.csdn.net/xgf415/article/details/75196360
目录:
SVN 是什么?
TortoiseSVN 和 VisualSVN Server 安装
创建版本库、用户
检出
更新与提交
历史信息与版本回退
解决冲突
1. SVN 是什么?
SVN 是 Apache Subversion 的缩写,是一个开放源代码的版本控制系。这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。
SVN 一些概念
repository(版本库):文件统一存放的地方。
checkout(检出):当你手上没有源文件的时候,你需要从repository 提取一份。
commit(提交):当你已经修改了文件,你就需要Commit到repository。
update (更新):当你已经Checkout了一份文件,Update一下,你的文件就会与服务器同步。
2. TortoiseSVN 和 VisualSVN Server 安装
SVN 可以和 VisualSVN Server 一起使用。VisualSVN Server 是一个集成的 svn 服务端工具,可以对 SVN 的版本库、用户、组、权限等进行管理。 TortoiseSVN 和 VisualSVN Server 安装比较简单。
TortoiseSVN 下载地址:http://subversion.apache.org/packages.html#windows
VisualSVN Server 下载地址:https://www.visualsvn.com/server/download/
SVN 的中文包下载地址:https://tortoisesvn.net/downloads.html
设置中文
上面三个安装完成之后,右键 -> TortoiseSVN -> Settings,设置 language 为中文即可。
3. 创建版本库、用户、组
开始菜单中找到 VisualSVN Server ,打开 VisualSVN Server Manbger
创建版本库
设置好版本库类型、名称、权限之后,一个版本库就创建好了。
创建用户
右键 Users -> Create User,设置好用户名和密码。
创建组
右键 Groups -> Create Group,设置组名, 并添加用户。
设置版本库的用户、组及其权限
为了对不同用户、组设置不同的权限,我又创建了另外两个用户、两个组。选择 test 版本库, 右键 Priperties,添加用户、组, 并设置其读写权限。
manager(管理) 组读写权限,包含一个用户 root;develop(开发)组读写权限,包含一个用户 dev;visitor (访问)只读权限,包含一个用户 visit。
4. 检出
复制检出路径:选择 test ,右键 Copy URL to Clipboard
新建一个空文件夹,右键 SVNCheckout,粘贴刚刚复制的检出路径。
确定之后,会弹出验证框,输入刚刚创建的用户和密码,确认之后检出完成。
5. 更新与提交
更新与提交一般流程:
加入文件
新建一个文件,选择该文件,右键 TortoiseSVN -> 加入
检查修改
右键 TortoiseSVN -> 检查修改
更新
右键 更新(Update)
冲突:如果其他人在你提交之前提交到了服务器,更新之后可能就会发生冲突。
提交
右键 提交(Commit)
提交完成。
这次先加入一个文件 file.txt,再修改 readme.txt 文件的内容。然后进行检查修改、更新和提交。
撤销修改
在未提交之前,如果作了修改,但是想撤销一些修改。假设修改 readme.txt 的内容,同时增加一个文件 file.txt。现在想撤销一些修改,右键 TortoiseSVN -> SVN 还原。
6. 历史信息与版本回退
查看历史
右键 TortoiseSVN -> 显示日志
版本回退
右键 TortoiseSVN -> 更新至版本
7. 解决冲突
冲突类型
- 内容冲突:当两名(或更多)开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。
- 树冲突:当一名开发人员移动、重命名、删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改时就会发生树冲突。
SVN 树冲突类型和解决方法有点复杂, 可以参考这篇博客。
解决方法
- 根据冲突内容,手动修改文件内容。
- 执行命令 TortoiseSVN ->已解决,然后提交修改到版本库。
现在我们用另外一个用户 dev 来登陆 SVN, 并修改 readme 的内容,然后提交。当 root 用户也修改了 readme 的内容,更新时就可能发生冲突。
右键 TortoiseSVN -> 检查修改
修改冲突的方法:
用左边的内容;
用右边的内容;
先用左边再用右边的内容;
先用右边再用左边的内容;
注意:每个冲突行都要使用上面的方法处理一次。
现在我们使用先用左边再用右边的内容进行处理:
保存之后关闭,右键 TortoiseSVN -> 已解决的
确定,冲突解决,然后提交。
=================================== End
TortoiseSVN 和 VisualSVN Server 使用教程的更多相关文章
- (转)TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...
- Windows平台下结合 tortoiseSVN 和 VisualSVN Server 搭建SVN服务器并实现 web 站点同步
1. tortoiseSVN 关于 tortoiseSVN 的安装使用详见博文 TortoiseSVN的安装及其简单使用. 2. VisualSVN Server 关于 VisualSVN Serve ...
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】
转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小 ...
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统(转)
地址:http://www.cnblogs.com/xing901022/p/4399382.html
- windows安装VisualSVN Server
- 项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】
在第一篇文章 项目管理实践教程一.工欲善其事,必先利其器[Basic Tools]发布后,根据大家的回复,我需要向大家说明几个问题: 1.为什么要用VisualSVN Server,而不用Subver ...
- VisualSVN Server以及TortoiseSVN客户端的配置和使用方法
http://www.cnblogs.com/beautifulFuture/archive/2014/07/01/3818211.html 近期学习代码管理工具,首先学习一下svn和Tortoise ...
- SVN--下载、安装VisualSVN server 服务端和 TortoiseSVN客户端
前言: 在http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html的博客中已经很详细地介绍了SVN的服务器--VisualS ...
随机推荐
- PHP 中call_user_func相关函数的使用
call_user_func 官方的解释是:把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数. 第一个参数可以是函数名,后面的均为作为该函数使用的参数. 1. call ...
- Linux学习(一)------CentOs安装mysql5.5 数据库
具体方法和步骤如下所示: 1.第一步就是看linu是否安装了mysql,经过rpm -qa|grep mysql查看到centos下安装了mysql5.1,那就开始卸载咯 2.接下来就是卸载mysql ...
- activeX 打包
原文 http://www.docin.com/p-409284488.html CAB打包文档说明 文档目的 本文档的目的在于说明将ocx和dll以及相关的文件打包成一个CAB包,以便在网页下调用o ...
- eclipse查看源代码问题
最近分析源代码时,eclipse总是出错,显示org.eclipse.core.runtime.CoreException,解决方法:在builderpath点击 add external jars, ...
- realstudio 粒子特效问题总结
ParticleEmitter._inner_material.flags.depth_write = true;ParticleEmitter._inner_material.flags.depth ...
- centos 6.5 双网卡 上网 virtualbox nat hostonly
虚拟机两张网卡:分别调成NAT(eth0)和host only(eht1)模式. nat的网卡不用设置,host only网卡调为(vi /etc/sysconfig/network-scripts/ ...
- C语言零碎知识点
1. int整形在64位和32位计算机中都占4个字节. 指针在64位占8个字节,32位占4个字节. 2. 数组下标从0开始,a[0]开始,链表下标从1开始,a[1]开始. 3. 条件运算符(con ...
- 冲刺ing-4
第四次Scrum冲刺 队员完成的任务 队员 完成任务 吴伟华 Leangoo的看板截图,燃尽图 蔺皓雯 编写博客,学习后端设计 蔡晨旸 学习后端设计 曾茜 后端设计 鲁婧楠 服务器建构 杨池宇 学习后 ...
- C++的反思与总结
博客作业学到的东西: 1.博客作业应该说是从寒假就开始了,因为博客作业,所以我寒假时都不敢玩得太疯狂,毕竟还有博客作业没做呢.有了博客作业,我就从一个连博客是什么都不知道无知少年,开始去了解博客是什么 ...
- 线段树---no end
额,还有 :区间操作,交,并,补等 区间合并 扫描线 这些问题有空再研究吧.... 先看j2ee了..... 传送门 版权声明:本文为博主原创文章,未经博主允许不得转载.