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 安装比较简单。

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 树冲突类型和解决方法有点复杂, 可以参考这篇博客。

解决方法

  1. 根据冲突内容,手动修改文件内容。
  2. 执行命令 TortoiseSVN ->已解决,然后提交修改到版本库。

现在我们用另外一个用户 dev 来登陆 SVN, 并修改 readme 的内容,然后提交。当 root 用户也修改了 readme 的内容,更新时就可能发生冲突。

右键 TortoiseSVN -> 检查修改

修改冲突的方法:

用左边的内容;

用右边的内容;

先用左边再用右边的内容;

先用右边再用左边的内容;

注意:每个冲突行都要使用上面的方法处理一次。

现在我们使用先用左边再用右边的内容进行处理:

保存之后关闭,右键 TortoiseSVN -> 已解决的

确定,冲突解决,然后提交。

=================================== End

TortoiseSVN 和 VisualSVN Server 使用教程的更多相关文章

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

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

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

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

  3. Windows平台下结合 tortoiseSVN 和 VisualSVN Server 搭建SVN服务器并实现 web 站点同步

    1. tortoiseSVN 关于 tortoiseSVN 的安装使用详见博文 TortoiseSVN的安装及其简单使用. 2. VisualSVN Server 关于 VisualSVN Serve ...

  4. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】

    转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小 ...

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

    地址:http://www.cnblogs.com/xing901022/p/4399382.html

  6. windows安装VisualSVN Server

  7. 项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】

    在第一篇文章 项目管理实践教程一.工欲善其事,必先利其器[Basic Tools]发布后,根据大家的回复,我需要向大家说明几个问题: 1.为什么要用VisualSVN Server,而不用Subver ...

  8. VisualSVN Server以及TortoiseSVN客户端的配置和使用方法

    http://www.cnblogs.com/beautifulFuture/archive/2014/07/01/3818211.html 近期学习代码管理工具,首先学习一下svn和Tortoise ...

  9. SVN--下载、安装VisualSVN server 服务端和 TortoiseSVN客户端

    前言: 在http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html的博客中已经很详细地介绍了SVN的服务器--VisualS ...

随机推荐

  1. 使用salt-ssh初始化系统安装salt-minion

    salt-ssh介绍及使用方法 在ssh上执行salt命令和状态而不安装salt-minion,类似于ansible. 1. salt-ssh的安装: [root@linux-node1 ~]# yu ...

  2. STM32L431仿真卡在HAL_InitTick(TICK_INT_PRIORITY);

    1. 使用IAR 8.20版本,STM32L431RBT芯片,JLINK V9仿真器,实际仿真测试的时候卡在如下的函数 /* Use SysTick as time base source and c ...

  3. DSP5509项目之用FFT识别钢琴音调(3)之ccs v6环境变量的配置

    1. 添加头文件路径,没搞明白"${C5500_CSL_CG_ROOT}/include"里面的C5500_CSL_CG_ROOT是在哪里定义的? 2. 打开CCS的窗口,优选项配 ...

  4. 【Windows定时关机】windows实现定时关机与取消

    背景:本人昨晚本来打算将电脑设置为晚上12点 30定时关机,结果写成了:12:30,所以就在刚才,我正玩游戏的时候, 电脑弹出提示:“windows将在一分钟内关闭”,我刚开始一脸懵逼,后来打开昨天敲 ...

  5. hdu2065"红色病毒"问题(指数母函数+快速幂取模)

    "红色病毒"问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  6. 3星|《CMO到底能干多久?》:CEO必须决定供公司需要哪类CMO

    CMO到底能干多久?(<哈佛商业评论>增刊) <哈佛商业评论>关于CMO的6篇文章.我认为第一篇<为何CMO宝座坐不长>写的最好,是典型的哈评风格:做过实际调查.有 ...

  7. python的30个编程技巧

     1.原地交换两个数字 x, y =10, 20 print(x, y) y, x = x, y print(x, y) 10 20 20 10 2.链状比较操作符 n = 10 print(1 &l ...

  8. Pvmove中断后恢复LV状态

    Pvmove中断后恢复LV状态   pvmove执行时关闭中断窗口后,pvmove进程会被强制杀掉,从而导致lv的状态异常,无法重新进行pvmove和其他lvm镜像增加相关操作,可以通过如下方式修复: ...

  9. VPS挂机赚美刀详细介绍–Alexamaster操作流程

    跟 vps 主机打交道时间长了,手里也渐渐积累了些闲置的 vps.让它们这么闲着吧,感觉有些浪费资源:用起来吧,暂时又没有好的项目.一直听说通过 vps挂机可以赚回主机成本,甚至可以盈利.正好这两天有 ...

  10. Debian 给非 ROOT 用户添加 sudoer 权限

    问题描述 从官方镜像安装的 Debian 9 (Stretch)比较纯净,但因此需要自己安装.配置许多常用的 Linux 应用,这里就需要 sudo (super user do)临时获取 root ...