SVN使用环境
  • 使用SVN管理源代码,必须有2套环境

    • 服务器

      • 用来存储客户端上传的源码
      • 一般都是在Windows环境下安装Visual SVN Server
    • 客户端
      • 用来提交、回退、修改、下载等操作

一,在Windows安装Visual SVN Server

  • 下载Visual SVN Server安装包
下载地址:百度网盘链接:https://pan.baidu.com/s/1jJWegi6 密码:d58v
官网下载:https://www.visualsvn.com/server/download/
  • 打开安装包 --> next --> 同意协议 --> next --> 选择默认选项(安装SVN控制台)--> next --> 选择第一个按钮(标准版)--> next --> location:安装路径 Repositories:仓库路径 server Port:端口 旁边的https://选项不勾选(因为一般SVN都是在局域网,不会有安全问题)--> next -->Install --> 完成

二,创建SVN仓库

  • 打开Visual SVN Server
  • 右击Repositories --> 新建 --> Repository --> 设置仓库名称 --> 下一步 --> 选择第一项Enpty repository(空的仓库)--> 下一步 --> 设置访问权限(Nobody has access<无人能访问>、All Subversion users have Read/Write access<所有人可以读写>、Customize permissions<自定义访问>)因为是初始化仓库,所以先设置为没人能访问 --> 下一步 --> 完成

三,SVN仓库配置

  • 在新建的仓库中新建文件夹(folder)Code:新建 --> Folder --> 文件夹名称 --> 完成

  • 创建工程结构project structure(代码项目)。

创建完成后,目录结构下面会有trunk,branch,tags。

svn 目录结构,名称及功能说明:
Trunk: 主干代码 (用于新功能的开发)
Branch: 分支代码(用于解决项目路径中产生的bug)
Tags: 版本标记(测试通过后上线的版本记录)
  • 创建用户:右击Users --> Create user --> User name:用户名 Password:密码 Confirm password:确认密码 --> 完成

  • 创建用户组(iOS、Android):右击Groups --> Create Group --> Group name:组名 --> Add:增加成员 --> 完成

  • 配置仓库用户权限:右击仓库 --> Properties --> Add:添加成员或组 --> Permissions:设置权限(NO Access<无权限>、Read Only<只读>、Read/Write<可读可写>)--> 应用

  • 配置完成

四,测试SVN仓库链连接是否正常

连接仓库分为测试连接和远程连接2种

  • 测试连接:也叫本地连接,就是在搭建SVN的服务器上测试是否可以连接,步骤如下:

    • 右键仓库 --> Copy URL to Clipboard --> 打开浏览器 --> 在地址栏粘贴,并回车 --> 输入用户名密码 --> 这样就连接上仓库了

  • 远程连接:测试完毕后就可以将地址发放给成员使用了
  • 服务器地址获取方式
    • 在服务器端打开命令行工具 --> $ ipconfig --> IP Address就是我们服务器地址
    • 拼接链接地址
    • 格式:http://服务器地址/SVN仓库路径 (比如我的:http://10.200.0.202:8443/svn/hengxin/)
    • 使用者打开浏览器 --> 在地址栏粘贴并回车 --> 输入用户名密码 --> 这样就连接上仓库了

 以上为服务器端操作,下面为客户端操作

五,SVN图形化管理软件(subversion)使用

1.安装subversion


SVN是Subversion的简称,是一个开放源代码的版本控制系统


Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是文件的变动历史。


SVN是一个通用的软件系统,他不但可以用来管理程序源码,也可以管理任何类型的文件,如文本、视频、图片等等

 

安装路径最好不要更改,否则会出现下面的错误

当安装完毕后,随意右击一个文件夹,如果出现svn checkout的选项,说明svn安装成功。

2.TortoiseSVN Client基础操作

2.1检出(checkout)

检出目录---提取数据,将服务器上的文件下载到本地

右键单击文件夹-checkout,输入仓库地址

仓库地址可以从visual svn server服务器中查找

点击checkout后,会出现下面图标,说明检出成功

2.2增加(Add)

在test项目文件下,新建一个b.txt文件,提交到版本库的方法如下2种:

1. 先提到变更列表中,再commit到配置库中,选择新增文件,右键SVN菜单执行"Add"操作提交到"变更列表中",然后右键SVN菜单执行"SVN Commit"提交到版本库中。

2. 不提交到变更列表中,而是直接commit配置库中,选择该文件,右键svn菜单执行"SVN Commit"操作。注意,commit(提交)时可以添加message(备注)

2.3.提交

将本地更新的文件提交到svn服务器中

右键刚才检出的文件夹--“svn commit”

2.4,删除(Delete)

1.如果被删除的文件还未入版本库,则可以直接使用操作系统的删除操作删除该文件。

2.如果被删除的文件已入版本库,则删除的方法如下:

2.1选择被删除文件,右键svn菜单执行"delete"操作,然后选择被删除文件的父目录,右键svn菜单执行"SVN Commit".

2.2使用操作系统的删除操作删除该文件,然后选择被删除文件的父目录,右键svn菜单执行"SVN Commit",在变更列表中选择被删除的文件。如下图:

2.5,改名(Rename)

修改文件名,选中需要重命名的文件或文件夹,然后右键"TortoiseSVN->Rename",在弹出的对话框中输入新名称,点击"ok"按钮,并将修改文件名后的文件或文件夹通过 "SVN Commit"提交到SVN服务器上。

我们可以看到改名操作,实际上是把原来的文件删除,然后再添加一个文件的操作

2.6.SVN还原(SVN Revert)

右击想要回退的文件或者文件夹,在TortoiseSVN弹出菜单中选择"Update to reversion…" 然后会弹出一个窗口,如下:

比如说我们要回退到第10个版本只需要在Revision中填写相应的版本号,然后点击ok即可(或者在HEAD revision中点击Show log查看相应版本)。

版本号的查看:

比如我们想回退到第2个版本,那么,只需在版本号中输入2,点击OK即可。

2.7.检查更新(Check for modifications)

此功能可以显示你所做的修改有哪些还没有提交的,此功能不光能看到对文件的修改变化,所有的变化都能看到,包括增加文件或者目录,删除文件或者目录,移动文件或者目录等,如果你点击了检查版本库,那你还可以看到版本库里的改动,既别人提交了哪些文件的改动,你还没更新到本地,如下文件上显示感叹号说明有变动文件未提交:

2.8.SVN更新(SVN Update)

更新本地代码与SVN服务器上最新的版本一致,只要在需要更新的文件夹上点击右键或者在文件下空白处点击右键,选择"SVN Update" (获取指定版本中的内容,点击右键执行SVN菜单中的"Update to reversion"),就可以了。

2.9.版本冲突

为什么会产生冲突代码呢?原因很简单就是因为不同的人,同时修改了同一个文件的同一个地方,这时候,他提交了,我没有提交,我就提交不了,这个时候我们要进行先更新,然后在进行提交即可
使用revert(回滚)操作,该操作表示用户放弃自己的更新代码,然后直接提交,这个时候你的代码就会使用服务器上最新的代码,即A用户提交的新代码,你的代码不会被提交

第二种解决方法如下:

选择文件->右键Editconficts:这种方法需要冲突双方经过协商之后将代码更改统一之后再提交。不仅解决了冲突而且还保证了代码是正确的,因为只有一方的代码被提交.

接下来再说说由于冲突导致重要代码被覆盖的情况。冲突发生时如果采取的措施不对可能会导致部分代码丢失,如果想要还原之前的代码也很容易。

选择文件->右键选择show log在这里面你可以看见之前提交的所有版本,找到你想要恢复的版本右键选择revert to this version就可以恢复了.

2.10.版本库浏览(Repo-browser)

此功能是用来浏览需要查看的资料库,在本地文件夹下点击右键,选择TortoiseSVN->Repo-browser,在弹出的对话框中输入资料库地址,再输入用户名和密码,就能查看到你需要查看到版本库的内容,在这你还能看到那些文件被谁锁定了,如下图:

SVN 配置和使用的更多相关文章

  1. centos apache svn配置

    单独安装svn服务: 安装svn软件 yum install subversion 创建根目录 mkdir -p /var/www/svn 创建版本库repos svnadmin create /va ...

  2. Eclipse插件SVN配置

    Eclipse插件SVN配置 方法一 打开Eclipse点击[Help]-[Install New Software] 点击右边[Add]-在弹出窗口中输入 Name:svn Location:htt ...

  3. svn配置

    svn配置 subverson.conf <Location /svn> DAV svn SVNListParentPath on SVNParentPath /var/repo Auth ...

  4. centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解

    centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...

  5. Xcode SVN配置

    Xcode SVN配置 编辑 ~/.subversion/config 文件  注意:假设".subversion"文件夹不存在.请执行"svn status" ...

  6. SVN配置钩子

    安装测试环境:109  CentOS4.6 安装: SVN1.32http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz安装:解压 ...

  7. svn配置多仓库与权限控制

    telnet: connect to address 47.106.115.228: Connection refused svn执行上下文错误由于目标计算机积极拒绝无法连接 标签: svn 2017 ...

  8. IntelliJ IDEA下SVN配置及使用

    一.在IDEA中使用SVN,首先需要下载安装 TortoiseSVN 插件. 打开 TortoiseSVN 下载地址,选择适合自己的系统类型下载. 接下来,进行安装即可.选择Modify,默认 com ...

  9. SVN配置自启动-1053错误

    主要内容:解决启动“配置的svn自启动服务”报1053错误 1. 环境: 系统: wind10 svn服务端版本: VisualSVN-Server-3.8.0-x64 2. 配置自启动 以管理员身份 ...

  10. SVN配置以及自己主动部署到apache虚拟文件夹

    SVN配置以及自己主动部署到apache虚拟文件夹 一.VisualSVN server 服务端和TortoiseSVNclient下载 VisualSVN下载:http://subversion.a ...

随机推荐

  1. hBase官方文档以及HBase基础操作封装类

    HBase 官方文档 0.97 http://abloz.com/hbase/book.html HBase基本操作封装类(以课堂爬虫为例) package cn.crxy.spider.utils; ...

  2. Android.mk文件c++头文件包含问题

    Eclipse 中 Android.mk文件c++头文件包含问题 jni中的目录结构如下: 编译找不到头文件 LOCAL_PATH := $(call my-dir)LOCAL_C_INCLUDES ...

  3. Oracle数据库表空间与数据文件的关系描述正确的是( )

    Oracle数据库表空间与数据文件的关系描述正确的是( ) A.一个表空间只能对应一个数据文件 B.一个表空间可以对应多个数据文件 C.一个数据文件可以对应多个表空间 D.表空间与数据文件没任何对应关 ...

  4. (转)RTP协议全解(H264码流和PS流)

    写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析, 其中借鉴了很多文章,我都列在了文章最后,在此表示感谢. 互联网的发展离不开大家的无私奉献,我决定从我做起,希 ...

  5. C# 使用SkinSharp皮肤库

    SkinSharp是Windows环境下一款强大的通用换肤库. SkinSharp作为通用换肤库,只需要在您的程序中添加一行代码,就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切换功能以及Ae ...

  6. 学习 TList 类的实现[1]

    最近整理了一些函数列表, 算是一个宏观的安排; 等以后再碰到一些函数时就可以放置的更有次序一些. 我对函数与类的理解是: 函数是一个功能模块, 类是一个更强大的功能模块; Delphi 已经提供了很多 ...

  7. AOPR密码过滤器

    在Advanced Office Password Recovery任一攻击的破解选项设置窗口都有一个“编辑密码过滤器”按钮,设置好AOPR密码破解工具的密码过滤器可以大大提高破解速度,下文将具体介绍 ...

  8. VC++实现编辑框输入提示效果

    编辑框在第一次输入时最好给出一个虚拟的输入提示信息文本,这样的效果更佳友好.,我在编辑框添加灰色提示字(html+VC)一文中简单介绍了一些方法,但是效果欠佳. 原始的编辑框CEdit类没有这样的功能 ...

  9. [dubbo] dubbo No provider available for the service

    com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method queryTemplate in the service com.x.a ...

  10. 如何调用别人发布的WebService程序

    这篇经验会告诉我们如何调用别人发布的WebService,并且需要注意的事项.现在就拿获取天气预报的接口举例,因为文中不允许有链接,所以在下文图中有WebService链接的地址. 工具/原料   V ...