SVN使用指引(本地服务器为Windows)


目录

[隐藏]

1. 安装SVN客户端

使用SVN进行文件上传前,请在您的本地PC上安装SVN客户端。推荐使用1.7版本的SVN客户端。请不要升级到1.8版本,TortoiseSVN 1.8版本存在缺陷,可能会导致SVN同步异常。

本地服务器为Windows时,推荐使用TortoiseSVN,下载地址:http://sourceforge.net/projects/tortoisesvn/files/ 

下面的操作指引都以TortoiseSVN为例。

2. 创建本地目录并连接到SVN库

1. 在您的本地机器上新建一个目录,例如“MyApp”,如下图所示:

 

2. 进入该文件夹,鼠标右键点击空白处,在邮件菜单中选择“SVN Checkout...”,如下图所示:

 

3. 在弹框里填入您的应用的SVN库的路径(你可能需要了解如何获取SVN仓库地址),弹框中的其它选项保持默认,如下图所示:

 

4. 点击弹框中的“OK”按钮,首次登录时要求输入该SVN版本库的用户名和密码(即应用的云服务账号和密码,您可能需要了解如何查看云服务账号和密码)。

登录框如下图所示:

 

注意不要勾选下面的“Save authentication”,原因是如果1个开发者有多个应用,则有多个SVN库,保留1个SVN库的登录凭证可能会导致登录别的SVN库失败。

如果失败,请选择右键菜单的“TortoiseSVN”->“Settings”->“Save Data”对话框中,点击“Authentication data”旁的“Clear”按钮,清除登录凭证。 清除登录凭证如下图所示:



 



5. 通过验证后,即开始从SVN库中checkout该SVN库里的所有文件。如下所示:

 

6. Checkout成功后,即可在本地机器“MyApp”目录下看到该SVN库下的所有文件。

注意,对于CEE SVN库来说:

(1)如果输入的SVN库路径是该应用的SVN库地址,则checkout出该应用所有的WebService下的所有版本的代码。MyApp目录下是您的应用下所有的WebService的目录,每个WebService是1个文件夹。 

 

(2)如果你输入的是您的应用的1个Web服务下的1个版本的SVN路径,则只会checkout出该版本下的代码。每个WebService下是所有的版本目录,每个版本是1个文件夹。

 

(3)在您还没有上传任何代码到SVN库之前,这里checkout出来的只是目录,版本目录下是没有文件的(除了自动生成的.svny文件夹以及index.html )。

3. 提交文件

1. 将您需要提交的复制到本地对应的目录下。

例如您需要将文件“test2.php”上传到Web服务“helloc”下的版本“1”里,则需要将您的应用程序复制到“MyApp/10507/helloc/1”目录下。如下图所示:

 

2.右键点击文件“test2.php”,选择“TortoiseSVN -> Add”菜单,即将刚才复制的代码添加到SVN工作目录中。

(只要是新增了文件,在提交前都必须先“add”,否则SVN不识别该文件) 如下图所示:



add成功后,该文件的图标变成蓝色的十字,如下图所示:

 

3. 然后右键点击文件“test2.php”,选择“SVN Commit..”菜单,然后填写本次提交的日志(必填项,不填将导致提交失败),即将刚才复制的代码提交到SVN工作目录中。

如下图所示:

 

 

 

4. 提交成功后,该文件的图标会变为绿色的对勾,如下图所示:

4. 修改文件

1. 您可以直接在本地使用编辑器打开SVN工作目录下的某个文件并进行修改,修改完成后,可以看到该文件的图标变成红色的感叹号,如下图所示:

 

2. 右键点击该文件,选择“SVN Commit...”,并填写本次提交的日志(必填项,不填将导致提交失败),即将该更新提交到SVN库。

3. 对于CEE SVN库来说,对于当前生效版本,我们强烈建议您在提交前需保证所做的修改已经通过了测试,以避免影响现网服务。

5. 历史版本回滚

SVN服务器天然支持版本管理,因此如果开发者需要对某些历史版本进行回滚,可以直接在SVN客户端上进行历史版本回滚操作,将历史版本的目录或文件下载到本地服务器,然后再提交到SVN服务器即可。 

详细说明如下:

1. 在需要进行历史版本回滚的目录或文件上,点击右键,选择菜单“TortoiseSVN”->“Show log”,如下图所示: 

2. 在打开的“Log Messages”面板中,右键选中你要回滚的版本,在出现的右键菜单中选择“Revert to this revision”,即可执行回滚操作。如下图所示:

3. 回滚成功后,本地的目录或文件就被历史版本的目录或文件替代,可看到其图标变成红色的感叹号。

4. 开发者需要将该目录或文件提交到SVN服务器上,即右键选中该目录或文件,然后选择菜单中的“SVN Commit...”将文件提交到服务器。提交成功后,即完成历史版本的回滚。

6. 删除文件

步骤如下:

1. 在需要删除的目录或文件上,点击右键,选择菜单“TortoiseSVN”->“Delete”,如下图所示:

 

2. 点击“Delete”后,可以看见本地已经不存在该文件或目录。

3. 右键点击已删除文件原来所在的目录,选择“SVN Commit...”,并填写本次提交的日志(必填项,不填将导致提交失败),提交到SVN库。

7. 其它操作

SVN的操作与一般的SVN操作是一致的,这里不再列举,您可以参考SVN手册

SVN使用指引(Windows)的更多相关文章

  1. SVN学习之windows下svn的安装

    svn是apache的一个开源项目,全称为subversion.是一个基于版本的项目管理软件,一般在多人开发的项目中使用,目前svn已经替代了原来的cvs.大多数情况下,svn服务安装在linux服务 ...

  2. SVN服务器从Windows迁移到Linux

    gerui 2013.9.14 ge-rui@sohu.com 一.备份VisualSVN项目 1. 现在要使用Linux作为svn服务器,之前是在windows Server 2008上的,用的是V ...

  3. 批量自动更新SVN版本库 - Windows

    开发过程中每天都要从SVN代码库里一个一个的update各个项目代码,不仅效率实在是低,也不符合程序员的"懒"精神,由于是在Windows环境做开发,自然就想到了使用bat来实现自 ...

  4. svn 客户端安装 windows

    windows使用的 https://tortoisesvn.net/ 下载中文语言包 安装 安装完安装语言包 看到这个代表svn客户端可以用了 windows客户端下载TortoiseSVN软件进行 ...

  5. 【SVN】如果windows用户忘记了svn的用户名和密码怎么办?

    如果windows用户忘记了svn的用户名和密码怎么办? 1>你得进入默认地址 C:\Users\Administrator\AppData\Roaming\Subversion\auth\sv ...

  6. svn使用---在CentOS 7上搭建SVN服务器 及windows搭建svn步骤

    svn搭建方法: https://blog.csdn.net/helijie92902/article/details/51935122?foxhandler=RssReadRenderProcess ...

  7. 允许svn服务与WINDOWS自己主动启动

    曾经的svnserve要想成为windows服务,必须依赖于svnservice或其它工具. 从Subversion1.4開始,Subversion本身就集成了Windows服务的工具. 将svn设置 ...

  8. 解决Linux下Svn检出Windows SVN服务器上项目SSL handshake failed: SSL error: Key usage violation in certificate has been detected.

    在Linux上检出windows SVN服务器上项目时出现了SSL handshake failed: SSL error: Key usage violation in certificate ha ...

  9. 【Windows、SVN】在Windows服务器下安装SVN,并在客户端能维护代码版本

    1.分别在客户端和服务器端安装软件 在网上搜索一下安装包的下载地址(这里暂不介绍) 得到2个安装文件 Server是装在服务器端的,另外一个装在客户端 2.安装SVN服务器端 基本一致下一步即可 特殊 ...

随机推荐

  1. 如何在SpriteBuilder中使用BM Font Label

    开始不知道,还真有点小繁琐. mac系统上创建BM Font的工具有不少,我主要用hiero和GlyphDesigner:前者是java写的,后者是mac原生的,功能都差不多. 还有一个类似的工具bm ...

  2. Leetcode_237_Delete Node in a Linked List

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/47334649 Write a function to de ...

  3. Linux - 有效群组(effective group)与初始群组(initial group),groups,newgrp

    每个使用者在他的 /etc/passwd 里面的第四栏有所谓的 GID ,那个 GID 就是所谓的『初始群组 (initial group) 』!也就是说,当用户一登陆系统,立刻就拥有这个群组的相关权 ...

  4. Access text files using SQL statements by DB Query Analyzer

    Access text files using SQL statements by DB Query Analyzer Ma Gen feng (Guangdong Unitoll Services ...

  5. Android开发 PopupWindow弹窗调用第三方地图(百度,高德)实现导航功能

    博客描述:后台返回地点的经纬度在地图上进行描点,点击导航弹出PopupWindow进行选择地图操作,如果手机中没有安装地图,提示没有,否则传值调起地图进行导航操作 看一下实现的效果,没图说再多都白搭 ...

  6. 闫燕飞:Kafka的高性能揭秘及优化

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文首发在云+社区,未经许可,不得转载. 大家下午好,我是来自腾讯云基础架构部ckafka团队的高级工程师闫燕飞.今天在这里首先为大家先分享 ...

  7. Integer 和int 比较

    在jdk1.5的环境下,有如下4条语句: 1 2 3 4 Integer i01 = 59; int i02 = 59; Integer i03 =Integer.valueOf(59); Integ ...

  8. 6.3 Query 语句对系统性能的影响

    我们重点分析实现同样功能的不同SQL 语句在性能方面会产生较大的差异的根本原因,并通过一个较为典型的示例来对我们的分析做出相应的验证. 为什么返回完全相同结果集的不同SQL 语句,在执行性能方面存在差 ...

  9. git merge 与 git rebase

    git merge git rebase merge V.S. rebase 参考材料 写在开始: 对merge和rebase的用法总有疑惑,好像两个都能完成"获取别的branch的comm ...

  10. vue2.0 — 移动端的输入框实时检索更新列表

    我们都是行走在这世界的孤独者 - 暖暖 最近在做vue2.0的项目遇到一个移动端实事检索搜索更新列表的效果,但用户在搜索框输入客户的电话或姓名的时候,客户列表内容会做相应的更新,下面给大家看下图~· ...