SVN安装及基本操作(图文教程)

 更新时间:2020年07月14日 10:46:15   作者:~李疆  
这篇文章主要介绍了SVN安装及基本操作(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.SVN是什么

svn是Subversion的简称,是一个开源的代码版本控制系统,svn就是用于多人共同开发同一个项目,达到资源共用目的工具。

版本控制是什么?

版本控制(Revision control)是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。可记录每个版本的信息,方便问题追踪。同时版本控制还支持并行开发,可有效的提高开发效率。

为什么要使用SVN?

1.项目备份方便,节省硬盘空间;
2.记录每个版本,方便追溯历史纪录。
3.多人协作开发,共享数据;
4.细节化的权限控制,便于管理员掌控项目整体。

2.Svn服务端和客户端获取方式

服务端:https://www.visualsvn.com/server/download/

客户端:https://tortoisesvn.net/downloads.html

安装完后,在任意一个文件夹下面右键,如果出现下面这个,就说明安装成功了

3.svn工作流程和架构图;

3.1 svn工作方式:

                                                                                 (svn工作流程图)

3.2 svn架构图:

                                                           (svn架构图)

4.操作svn服务器的2种方式 

4.1  command-line 命令行方式; 

4.2  GUI-client图形界面方式;    

4.2.1 svn服务连接方式:

                   (1) internet网络连接:

                                    apache服务器;

                                    svn服务器;

                  (2) local 本地连接:

4.2.2 svn数据存储方式:

                           文件方式:FSFS(推荐使用)

                           数据库方式:BerkeleyDB(伯克利DB)

5.svn服务器目录结构、用户和权限; 

5.1 目录结构:

                Repositories 仓库:存放被svn管理的项目文件,可以存放源码,文档等;

                Users 用户:创建和编辑用户;

                Groups 权限组:创建和编辑用户组;

打开VisualAVN Server步骤:在SVN服务器的安装目录下进入bin文件夹,双击VisualAVN Server.msc即可弹出VisualAVN Server窗口。

 5.2 创建仓库:

    标准文件夹结构:

         branches 分支:如果需要测试新技术,或者大范围修改,将主干代码拷贝到分支中进行,测试无误后可以合并到主干中;

         tags 发布:发布版本要放到tags中;

          trunk 主干:主要开发目录;jia

创建仓库,命名为helloSvn:

创建项目,命名为dev:

 5.3 创建用户:每个开发人员都需要拥有自己的svn账号;

      右键【Users】-【Create User...】,比如创建三个用户siki,lain,lijiang

5.4 创建组:为每个部门配置不同的权限,便于管理;

 5.5 分配权限:在仓库或者目录中为用户/组分配权限;

右键【Group】-【Create Group...】,比如创建2个组admin,javaEE-Team

同理:创建组javaEE-Team:

此时,就可以给项目helloSVN分配权限了,右键【helloSVN】-

6.svn常用操作:  

6.1 checkout 检出:

初次下载 - 第一次连接svn服务器时候需要下载对应仓库的数据(如果仓库中有数据的话);

比如现在让文件夹siki连接SVN服务器,方式如下

然后siki文件夹下面就有文件了

    6.2 add 新增:

新增数据到svn服务器;

比如在trunk文件夹下面新建一个Item.java文件,将此文件添加到SVN服务器:

现在再commit到SVN服务器:

提交成功显示如下界面:

现在我们来到SVN服务器,按F5刷新,可以看到trunk目录下有了Item.java文件了!

6.3 update 更新:

更新数据 - 检查svn服务器中的数据是否与本地的数据一致,如果不一致就下载改变/新增部分,同时不会删除本地数据;

比如在另一个lijaing文件夹下面更新SVN服务器的数据,同样要先在lijiang文件夹里面右键【SVN checkout...】

现在我们去siki/dev/trunk目录中打开Item.java,会发现还没有name属性

此时我们右键【update】更新一下就可以了,就会有name属性了

    6.4 delete 删除:

删除svn的数据(需要搭配commit命令);

比如删除siki/dev/trunk目录下的Item.java文件,选中【Item.java】-【TortoiseSVN】-【Delete】,然后还没完,一定要记得commit!!!

    6.5 revert 回滚:

将指定版本的代码回滚到本地,如要提交到服务器需要搭配commit命令;

然后可以看到Item.java已经被回滚到文件夹里了,同样此时一定要记得commit!!!

commit提交:

    6.6 代码冲突:

在多人同时开发一个类,提交的时候容易出现代码冲突,也可以理解为版本冲突;

比如siki和lijiang同时修改并更新Item.java文件,siki给Item.java添加一个price属性,lijiang给Item.java添加一个num属性。siki先提交,然后lijiang再提交时就会提示是否update,选择确定update,然后lijiang/dev/trunk里面就会有四个文件,

siki给Item.java增加price属性:

lijiang给Item.java增加num属性:

7.其他操作:   

7.1   按照版本检出;

右键【TortoiseSVN】-【show log】

选择保存地址即可

    7.2   账号保存与注销;

在需要注销账号的文件夹里面右键【TortoiseSVN】-【settings】-【Saved Data】-【Clear all】,

    7.3   代码对比工具;

可以高亮显示不同版本文件的不同之处

    7.4   下载指定版本号的文件;

比如新来一个队友,要使用某个文件的旧版本

到此这篇关于SVN安装及基本操作(图文教程)的文章就介绍到这了,更多相关SVN安装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Rsync实现文件定时同步技巧

    Rsync实现文件定时同步技巧

    这篇文章主要介绍了Rsync实现文件定时同步技巧的相关资料,需要的朋友可以参考下
    2015-09-09
  • VScode连接远程服务器踩坑实战记录(新版离线vscode-server安装)

    VScode连接远程服务器踩坑实战记录(新版离线vscode-server安装)

    本文主要介绍了如何使用VScode连接远程服务器,并对离线安装vscode-server进行了详细的操作步骤说明,其中包括VScode扩展的安装与配置,vscode-server的离线下载,文件的解压缩和移动,以及VScode的一些更新设置,能够帮助读者更好地理解和掌握VScode连接远程服务器的方法
    2024-10-10
  • 服务器封UDP和封国外是什么意思? 封UDP和封海外云服务器选择!

    服务器封UDP和封国外是什么意思? 封UDP和封海外云服务器选择!

    很多人在租用高防云服务器的时候,都会看到关于防御会有介绍是否封国外、封UDP,封海外就是封住海外的攻击,而封UDP则使UDP攻击无效,所以防御上面封UDP的机器比不封UDP的要强一些,下面给大家简单介绍一下封UDP和封国外是什么意思,有什么用
    2023-05-05
  • VScode连接服务器不用每次都输入密码的解决方法

    VScode连接服务器不用每次都输入密码的解决方法

    这篇文章主要介绍了VScode连接服务器不用每次都输入密码的解决方法,本文给大家介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • Dubbo 系列JDK SPI 原理解析

    Dubbo 系列JDK SPI 原理解析

    这篇文章主要为大家介绍了Dubbo 系列JDK SPI 原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Spark入门简介

    Spark入门简介

    这篇文章主要介绍了Spark的相关内容,算是对spark的初步涉猎,希望大家通过这篇文章能对spark有一定的了解,需要的朋友可以参考下。
    2017-09-09
  • CentOs7搭建基于pptp的VPN服务器

    CentOs7搭建基于pptp的VPN服务器

    最近想远程连接一下家里的台式机电脑,由于都是局域网,又没有公网ip,所以就没法远程,上网查了一下,发现可以在云服务器上搭建一个VPN,这样两台电脑就在同一个局域网内,就可以完美解决这个问题,现在把搭建方法和遇到的问题做个总结,感兴趣的朋友一起看看吧
    2023-11-11
  • Win2008 蓝屏漏洞揭秘

    Win2008 蓝屏漏洞揭秘

    蓝屏漏洞威胁的是服务器操作系统Windows Server 2008,这意味着如果Windows Server 2008蓝屏,将导致服务器停止服务……
    2009-10-10
  • 如何在项目服务器部署git 并实现自动提交

    如何在项目服务器部署git 并实现自动提交

    这篇文章主要介绍了如何在项目服务器部署git 并实现自动提交,下面通过场景分析给大家介绍的非常详细,需要的朋友参考下吧
    2024-07-07
  • DNSLOG平台搭建及其原理解析

    DNSLOG平台搭建及其原理解析

    DNSlog就是存储在DNS Server上的域名访问信息,它记录着用户对域名littlehann.com等的访问信息,类似日志文件,这篇文章主要介绍了DNSLOG平台搭建及其原理分析 ,需要的朋友可以参考下
    2024-01-01

最新评论