零 基本功能介绍... 2

一 安装及下载client端... 2

二 登陆和文件下载... 2

三 新增档案及目录到服务器中... 4

四 文件对比... 13

4.1 文件回溯... 13

4.2 历史版本对比... 15

五 取消绑定

六 现在文件如何和服务器关联

常见的版本控制软件有VSSCVSSVN

  VSS(Visual Source Safe)为微软的产品,较为易学易用,使用微软的产品进行开发通常都用这个,但是VSS只能在windows平台上运行,并且不是免费软件,安全性也不高,因此应用并不太广泛。

  CVS(Concurrent Version System)是免费开源的配置管理工具,其源代码和安装文件都可以免费下载。由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。不过CVS的部署比VSS要复杂一些。

  SVN(Subversion)作为CVS的重写版和改进版,其目标就是作为一个更好的版本控制软件,取代CVS.总的来说,CVS在发展的过程中逐渐失去优势,已经不再适合现代开发,目前,绝大多数CVS服务已经改用SVN.

  目前流行的Google Code开源项目托管平台就是使用SVN进行版本控制。

零 基本功能介绍和服务器架设

同步不状态,为文件夹左下角有一个对勾

未同步状态,为文件夹右下角有一个叹号。

我们称用来存放上传档案的地方就做Repository。第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。日后,当您有任何修改时,都可以上传到 Repository上面,上传已经存在且修改过的档案就叫做commit,也就是提交修改给SVN server的意思。针对每次的commit,SVN server都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从Repository下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。

SVN的存放档案方式是采用差异备份的方式。也就是说,他只会备份有不同的地方。所以很省硬盘空间。此外,他也可以针对所谓的非文字文件进行差异备份

怎么样在Windows下面建立SVN Repository?

假设您已经安装前面所提及的TortoiseSVN这套软件,现在我们先告诉您如何用自己的硬盘或是随身碟当作SVN Repository的存放地点。如果您只想知道如何存取一个已经建立好的SVN Server上面的Repository,请直接跳过本节。

假设您的要放置Repository的地方是E槽。您需要先建立一个空的目录。以下面的例子而言,我们在E槽下面建立了一个名为svn_repo的目录。 SVN并没有限定Repository目录名称。您可以建立任何您自己喜欢的名称。但是,强烈建议勿使用非英文的档名(如中文或日文)。

透过您的档案管理员,在E:\svn_repo的Icon上面,按下鼠标右键后,选择TortoiseSVN->Create repository here。

接着,您会看到如下的一个窗口,这个窗口主要是问您,您希望使用的Repository数据库格式是FSFS还是BDB。基本上,请选择FSFS就可以了。按下OK按钮后,您将可以看到下一个画面。

这就表示您的SVN repository已经成功的建立了。接下来就是要把您的档案备份进来。日后,只要需要使用这个repository,我们就可以使用 file:///E:/SVN_REPO表示它。SVN就是透过这种URL的方式到如何与Repository取得联系。各种URL的格式如下:

file:///磁盘驱动器|/repository所在目录/子目录

http://账号@服务器名称/
repository所在目录/子目录

https://账号@服务器名称/
repository所在目录/子目录

svn+ssh://账号@服务器名称/
repository所在目录/子目录

其中,http表示使用一般的超文字传输通讯协议。https表示使用加密的超文字传输通讯协议。svn+ssh表示透过SSH加密通讯的管道,进行存取。


安装及下载client端

TortoiseSVN的官方下载地址是
http://tortoisesvn.net/downloads ,普通Windows用户下载32位软件即可,下载地址后面还有中文语言包(Language packs)提供,安装完后可以将TortoiseSVN的界面编程简体中文。

更为详细的TortoiseSVN使用帮助,请参考TortoiseSVN中文手册。

下载TortoiseSVN-1.8.8.25755-win32-svn-1.8.10,点击安装,几乎点击next就可以。安装完成后右击会出现,如下图。大部分的TortoiseSVN的操作都是透过档案管理员及鼠标右键就可以完成了。


登陆和文件下载

文件下载之前,管理员必须分配给使用者权限,权限是按文件夹分配的,没新建一个文件夹,管理员必须重新分配一次使用权限。

1新建文件夹,比如working,进入文件夹,点击右键——>SVN
ckeckout——>输入用户名和密码(只用输入一次)

2 URL of repository 输入服务器地址https://192.168.5.3/svn/TFT.点击右边选择要下载的文件,点击OK,如图2

checkout directory 选择本地保存地址

checkout depth 有以下几个选项full
recursive文件夹递归,immediate children,only file children,only this item

 SVN关联的的核心是目录一致,关联是一定要对应位置一致。

3 点击OK,成功效果如图,38为下载日志的编号,在本地文件夹中就会有下载的文件了。

现在会看到working目录下面多了一个名为.svn的目录(这个目录是隐藏的,如果您的档案管理员没有设定可以看到隐藏目录,您将无法看到它) 。

SVN会在您的工作目录下,以及其子目录下建立这个.svn的子目录。由于,原来的repository是空的,所以我们现在的working目录也是空的。如果您现在checkout的是一个已经有内容的repository,您将会看到working目录下面现在多了许多目录及档案。

如果您要在一个已经存在的SVN Server上面checkout出上面的档案,您只需要给定正确的URL以及working目录的名称。就可以取得指定的档案及目录了。


新增档案及目录到服务器中

假设您开发的程序将放在前面建立的working目录下面的my_ prj子目录。如下所示:

3.1假设您已经编辑好档案,准备把他们放到SVN的repository中。您需要在my_prj目录的icon上面,按鼠标右键,并且选择TortoiseSVN->Add:

3.2在点击SVN commit,TortoiseSVN会把准备要加入的档案及目录,显示给您看。打勾的就是等下要被加入到Repository中的。如果您有某些档案或是目录不想在这次加入,您可以让该项目不要被勾选。如此,它就不会被加入到Repository去。

在recentmessages 中添加修改描述内容,按下OK后,传送完毕。

有一点要注意的是,这个Add的动作并未真正的将档案放到Repository中。仅仅是告知SVN准备要在Repository中放入这些档案。此时,如果您透过档案管理员查看这些档案,应该会看到一个白色红底的惊叹号在档案icon的下方。

这是表示您的working目录中的档案与Repository中的档案还没有同步。现在我们要多一个commit的动作。让这些档案真正的放入到 Repository中。您可以在my_prj目录的icon上或者是my_prj目录内的空白处按下鼠标右键,叫出如下的选单,并且选择SVN commit。

紧接着,您将会看到如下的窗口出现:

 

在这个窗口中,下半部会列出一个清单,让您清楚的了解到哪些档案要被commit到repository中。同样的,如果您有档案不想在这个时候commit到Repository,您可以取消选取的档案,这样他们就不会被commit到Repository中。

在档案列表的上方是Message栏,您可以在栏中输入本次commit的目的。这是十分重要的字段,当您commit的次数很多时,可以靠这个讯息知道版本与版本之间的差异。当您输入好Message,按下OK之后,就可以看到如下的窗口出现,通知您已经将指定的档案送到Repository中。

您可以到先前的folder中,确定是否所有的档案icon都有如下的绿色勾勾在上面,这样代表您的档案都正确无误的到repository中。

有时候,因为Windows本身的问题,您可能会看到有些icon没有变成绿色的勾勾。此时,多按F5几次,应该就可以解决这个问题。如果,仍然不行,表示您之前的commit动作真的有问题。请仔细检查之前的commit动作是否正确。

四 文件对比

4.1 文件回溯

有时我们需要回溯至特定的日期或是版本,这时就可以利用SVN的Update
to revision的功能。在想要更新的档案或目录icon上面按下鼠标右键。并且选择TortoiseSVN->Update to revision。

在这个Update窗口中,您可以选择更新到最新版本(HEAD)。也可以选择更新到某个指定的版本(Revision)。当然,您可能早就记不起来正确的版本号码。可能只隐约的记得大概在什么时间。没关系,按下Show log按钮,您就可以回顾历史了。

所有您曾经做过的动作,及其日期与对应的版本都会列在这个窗口上面,只要在你想要的版上面点一下,让他变成反白,然后按下OK。这个版本就会自动填入Update窗口中的Revision字段中。您只要再按下一次OK,这个版本就会被取出来到您的硬盘中。

4.2 历史版本对比

选中比对的文件右击TortoiseSVN-> show log-> 选中比对两个文件-> compare
revisions

4.3更新档案及目录

为何需要更新?由于版本控制系统多半都是由许多人共同使用。所以,同样的档案可能还有人会去进行编辑。为了确保您工作目录中的档案与Repository中的档案是同步的。建议您在编辑前都先进行更新的动作。在此,我们都先假设您已经将档案check out过一次。现在要说明的是如何在一个check out过的目录进行update。在想要更新的档案或目录icon上面按下鼠标右键。并且选择SVN Update。

正常的状况下,您可以看到如上的窗口。在这个窗口中会显示有哪些文件更新了。如果没有看到档案更新的相关信息,这表示您的目录中的档案已经是最新的,所以无须进行更新。

5 扩展功能

Copy/Tag/Branch/Release档案或目录

  1. 确认您要处理的档案或是目录已经是Repository中最新的版本。
  2. 在要处理的目录或是档案上面按下鼠标右键,选择TortoiseSVN->Branch/Tag。
  3. 在To URL处输入您要的目的地。
    1. branch:要产生一个分支。以区别与trunk不同的开发。
    2. tag:要形成一个标记,表示重要的milestone。
    3. release:表示一个已经正式的release的纪录。
    4. 其它:进行一个复制(copy)。

6 补充

5.1 SVN Update Error: Please execute the
'Cleanup'

原因有可能是

1. 有文件正在更新或上传,该文件夹被锁定。

2. 更新或上传的时候动作没有完成,导致本地存在锁定状态没有释放。

解决方法是

1. 对于上面的第1种情况,等待你所做的操作完成。

2. 对于第2种情况,把对应的文件来里的.svn里面的lock文件删除。

五 取消绑定

取消文件夹的SVN绑定:

点击文件夹--右键---选择TortoiseSVN-->Exprot.选择自己就可以。

六 解除后如何再次关联

和管联相同,注意目录的改变,要和以前一样。再次修改的在目录上cleanup。

七 删除

  • SVN服务器中可以删除文件夹但无法删除文件:解决办法

    找到任一台连接SVN的电脑客户端,然后打开TortoiseSVN Browser,打开以后输入正确的URL,如图所示:

    输入正确的身份验证信息后,在文件目录中找到对应的文件

    找到该文件,右键会出现X删除,直接删除即可。

    出现该问题的原因:SVN不允许在服务器端删除客户端上传的单一文件,除非将整个工程删除。如果想要删除某个文件,只能通过URL访问到后,进行删除。

  • 六 现有文件和服务器关联

  • 只要服务器目录和现有目录相对应就可以实现 

来源于http://www.williamlong.info/archives/1878.html
版本介绍

http://www.ssc.stn.sh.cn/html/zsk/ITyw/2012-04/5744.html
锁介绍

http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html
使用介绍

版本控制软件——tortoiseSVN的基础使用的更多相关文章

  1. SVN版本控制软件

    一.版本控制软件 1.为什么需要版本控制软件 问题:① 团队开发 ② 异地协作 ③ 版本回退 2.解决之道 SCM(Software Configuration Management):软件配置管理 ...

  2. SVN 集中式版本控制软件

    简介: 目前流行的版本控制软件中,SVN ( 集中式版本控制 ) 算是使用范围更广.且使用时间更早的一款了,现在 git ( 分布式版本控制 ) 更火爆一点. 一.安装svn [root@localh ...

  3. Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)

    简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...

  4. 【转】Git版本控制软件从入门到精通学习手册

    GIT 学习手册简介 本站为 Git 学习参考手册.目的是为学习与记忆 Git 使用中最重要.最普遍的命令提供快速翻阅. 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以 ...

  5. 转:[版本控管]TortoiseSVN 使用,抓出兇手,使用 Blame 查看每一行最後修改的人是誰

    类似的官方的使用手段有: https://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-dug-blame.html from: http:/ ...

  6. 玩转git版本控制软件

    一.git的基本介绍 1.什么是git? git是个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理.说白了就是个版本控制软件 2.git的使用方法 git软件是通过命令来实 ...

  7. linux下搭建svn版本控制软件

    svn作为曾经流行的版本控制控制软件,它优异的版本控制功能在有意无意间已经深入IT人的工作了.然而虽然有后起之秀的git,但现在使用svn的项目并不在少数.最近有个项目需要协同开发,由于对svn用得比 ...

  8. 应用360云盘与SVN版本管理服务器搭建基于云端的版本控制软件

    步骤一:(安装软件) 1.TortoiseSVN 2.VisualSVN-Server-2.71 3.安装云盘客户端360wangpan_setup 步骤二:(VisualSVN Server设置) ...

  9. webpack3.x版本实战案例【基础配置篇】(一)

    本文旨在通过一个一个实战例子来学习webpack如何配置,更加深入的学习webpack在实战项目中如何配置. 我们学习哪些配置呢? [基础配置] 打包JS 编译ES6 编译typeScript 打包公 ...

随机推荐

  1. Zookeeper(二) zookeeper集群搭建 与使用

    一.zookeeper集群搭建 鉴于 zookeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop01,hadoop02,hadoop03    1. ...

  2. Ciesz się Polską

    SZKOpułPoi at BZOJPA at BZOJONTAK at BZOJ Chinese Solution of Poi

  3. 【单调队列】【P3957】 跳房子

    传送门 Description 跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一. 跳房子的游戏规则如下: 在地面上确定一个起点,然后在起点右侧画 $n$ 个格子,这些格子都 ...

  4. @RequestBody 和@ResponseBody 注解详解

    简介: @RequestBody 作用: i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对 ...

  5. django2.0 uwsgi nginx

    [TOC]# 1.安装pip```sudo apt-get updatesudo apt-get install python-pip```# 2.使用pip 安装virtualenv 和 virtu ...

  6. Codeforces 894.E Ralph and Mushrooms

    E. Ralph and Mushrooms time limit per test 2.5 seconds memory limit per test 512 megabytes input sta ...

  7. 洛谷P3799 妖梦拼木棒

    P3799 妖梦拼木棒 53通过 345提交 题目提供者orangebird 标签 难度普及/提高- 时空限制1s / 128MB 提交  讨论  题解 最新讨论更多讨论 暂时没有讨论 题目背景 上道 ...

  8. Dell 戴尔预装Windows8改成Windows7

    UEFI模式启动: 添加启动方式,正确路径为: 另外: Ubuntu启动gpt由gpt10变为gpt9 dd

  9. UVA-11582 数学

    UVA-11582 题意: 求f[a^b]%n ,其中f是斐波那契数列,1<=n<=1000,0<=a,b<=2^64; 代码: //这题重点是要发现 f[i]%n会出现循环, ...

  10. discuz安装小云app

    小云app登录注册: https://oauth.apps.xiaoyun.com/auth/login.do?authentication_error=1 from:http://lusongson ...