SVN基本介绍、工作原理、基本操作和其他说明

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

目录

 

SVN简介

SVN是什么

SVN客户端下载安装说明

关于汉化失败

关于Idea添加SVN报错

SVN工作原理

SVN提交流程图

SVN基本操作

SVN浏览

CheckOut(检出)

Update(更新)

Add(加入)

Commit(提交)

Revert(还原)

Add to ignore list(忽略文件)

Clean up(清理)

获取锁定与解除锁定

SVN其他说明

SVN的权限说明

SVN的提交控制

SVN的分支策略


SVN简介

SVN是什么

  • SVN的全称是Subversion,版本控制系统

        是一个开放源代码的版本控制系统,通过采用分支管理系统的高校管理,简而言之就是用于多人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

  • SVN采用客户端/服务器体系,数据不丢失,历史可追溯

        SVN是输入C/S服务类软件,有客户端和服务端,客户端用于操作,服务端用于数据保存,服务端会管理着随时间改变的所有数据,以提交版本记录每次操作内容。

  • SVN的客户端有基于WEB的webSVN和Tortoise SVN为代表的客户端软件

SVN客户端下载安装说明

下载地址:https://tortoisesvn.net/downloads.html

1.首先运行TortoiseSVN-*安装客户端

 

 

 

2.然后运行LanguagePack_*安装汉化包(注意版本要与客户端一致)

3.汉化包安装完成后可以直接在安装向导中选择Configure TortoiseSVN to use this language,使汉化生效,也可以通过鼠标右键TortoiseSVN->Settings->General->Language中选择中文简体

 

 

关于汉化失败

       汉化包和客户端版本不一致,通过鼠标右键TortoiseSVN->About查看客户端版本,我的是1.10.5,64 bit,到官网上找到对应的语言包版本下载下来,将TortoiseSVN根目录下的Language文件夹删除,重新运行汉化包即可(本人亲测不需要见汉化包放到TortoiseSVN根目录下执行)。

https://osdn.net/projects/tortoisesvn/storage/1.10.5/Language%20Packs/LanguagePack_1.10.5.28651-x64-zh_CN.msi/

关于Idea添加SVN报错

使用idea作为IDE开发工具的话,command line client在安装时是必须勾选的,没有勾选的话在使用idea添加SVN库的时候会报:Can't use Subversion command line client:svn 的错误

如果之前安装客户端的时候没有选择command line client tools,那么找到安装包TortoiseSVN-*重新运行,选择Modify之后会弹出上一幅图中的页面,再次选择command line client即可

 

 

SVN工作原理

SVN提交流程图

 

SVN基本操作

SVN浏览

已安装客户端,鼠标右键,选择TortoiseSVN->版本库浏览器(Repo-browser)

在弹出的框中输入SVN地址,点击OK

 

 

 

未安装客户端可以直接在网页中输入SVN地址打开

CheckOut(检出)

用于检出仓库中的文件到本地,生成工作副本(文件夹下有个隐藏的.svn文件夹,不要删除或者不明白的操作,会破坏副本)。

  • 输入仓库地址(URL of repository)
  •  配置检出的本地目录(Checkout directory),
  •  检出深度(Checkout Depth):默认全递归(Fully recursive),检出全部文件夹、子文件夹及文件夹下的文件,也可根据需要选择。
  • 省略外部(Omit externals):一般不勾选
  • 选择项(Choose items):可以选择要检出的该仓库地下的文件夹
  • 版本(Revision):一般选择最新版本(HEAD revision),也可以根据需要勾选版本(Revision)并输入要检出的版本号,版本号可以在显示日志(Show log)中查看历史的版本记录

与Export(导出)区别

Export(导出)操作参考Checkout(检出)

CheckOut(检出)会生成工作副本,副本会与SVN仓库关联,实现版本控制、提交、更新等等

Export(导出)不会生成工作副本(无.svn隐藏文件夹),会把仓库的资源复制到本地,不可以实现版本控制、提交、更新等等操作。

Update(更新)

用于更新工作副本到对应版本

方法:选择文件或目录鼠标右键

  • SVN更新(SVN Update):

        更新到最新

  • 更新至版本(Update to revision):

        最新版本(HEAD revision),也可以根据需要勾选版本(Revision)并输入要检出的版本号,版本号可以在显示日志(Show log)中查看历史的版本记录

 

 

 

Add(加入)

用于将文件或者目录加入到svn版本控制中

方法:选择文件或目录右键

 

注意:加入(Add)只是将文件加入到本地工作副本的版本控制中,并没有提交到SVN仓库

Commit(提交)

用于提交本地副本的文件到svn服务器

方法:选择工作副本右键SVN 提交(SVN Commit),然后选择要提交的文件、输入提交内容信息(Message),点击确定(OK)

注意:如果只读权限是不能提交的;本地不是最新的可能会出现冲突。

Revert(还原)

用于撤销本地未提交的修改

方法:选择工作副本右键TortoiseSVN->还原(Revert)->选择需要还原的文件或目录->确定(OK)

Show log(显示日志)

用于显示历史操作记录

方:1:选择工作副本文件或目录右键TortoiseSVN->显示日志(Show log)

 

方法2:选择SVN版本库浏览器(Repo-browser)路径中右键,显示日志(Show log)

 

Add to ignore list(忽略文件)

用于添加文件或目录不被svn版本控制

方法1(较旧的版本):选择文件或目录右键TortoiseSVN->增加到忽略列表(Add to ignore list),可以选择只讲该文件添加到忽略列表,也可以选择将以txt为后缀(*.txt)的文件全部忽略。

方法2(较新的版本):在某个目录下右键TortoiseSVN->属性(Properties)

 

        新建(New)->其他(Other)

 

  • 属性(Property name)选择:svn:ignore或者svn:global-ignores
  • 取值(Property value)可以填写参考:

target

.idea

.settings

.project

*.iml

*.log

.logs

.classpath

log

logs

  • 递归应用属性(Apply property recursively):不勾选,只作用于当前目录,不对子目录中的文件生效;勾选可对子目录中的文件生效。

 

注意:在工作副本的目录中右键TortoiseSVN->属性(Properties),是可以看到当前目录生效的SVN忽略项(黑色),以及父级目录的SVN忽略项(灰色)。

 

方法3:在工作副本的目录中右键TortoiseSVN->设置(Settings)->常规设置(General)中Subversion的全局忽略样式(Global ignore pattern)里添加要忽略的文件后缀

这种方式没事试过,不清楚生效规则。

 

Clean up(清理)

用于清除锁定状态,也可以清理不受SVN版本控制的文件

(会将.svn清理一下)

方法:选择需要清理的目录右键TortoiseSVN->清理(Clean up)

什么时候需要用清理(Clean up)

        当我们需要提交修改时,会向.svn中写入一些信息,然后向SVN服务器发送信息,如果该信息没有正确的发送到SVN服务器(提交(SVN Commit)会同时失败),SVN服务器中的版本信息跟本地工作副本的版本信息不一致,再次提交会提示目录被锁定,这时需要清理(Clean up),如果清理之后还是不能提交,关机重启一下试试(T^T)

获取锁定与解除锁定

加锁用于防止文件被他人修改

获取锁定方法:选择需要加锁的文件或目录右键TortoiseSVN->获取锁定(Get lock)-输入锁定的原因(可选)->确定(ok)

注意:如果其他人已经加锁,此时获取锁定(Get lock)是不成功的。

解除锁定方法:选择需要加锁的文件或目录右键TortoiseSVN->解除锁定(Release lock)

SVN其他说明

SVN的权限说明

  • SVN可以按照文件和目录来配置权限

        SVN有一套完整的权限管理体系,可以给个人或者组分配权限,并且权限可以分配到文件级别,权限分“读”(只能查看)与“写”(可以修改)两种情况

  • 实际的项目中SVN权限要按需申请并以最小化原则开通

        需根据工作需要开通,对项目人员的不同角色开通不同的权限或者权限组,以最小化原则。

SVN的提交控制

  • SVN钩子脚本控制

        SVN有一套提交控制脚本,称为钩子脚本,通过钩子脚本可以对提交的文件类型,提交日志填写要求做控制,还可以通过脚本触发一些工具的执行。

  • SVN日志模板设置

        设置SVN提交时要填写的模板,并且提交时检查是否按照模板填写,未符合要求的会被禁止提交

  • SVN锁定提交

        对一些重要文档,为防止多人提交出现覆盖的情况,可以设置成需要锁定文件后才能提交

SVN的分支策略

  • SVN采用分支管理系统

        分为trunk-主干、branches-分支和tags-标签

        分支上所做的提交都只存于分支上,主线上的Update是看不到分支的修改的


后续有时间补充:Linux构建SVN服务器,权限配置,SVN 管理界面等

 

 

 

 

 

 

 

SVN使用教程总结 SVN简介:  为什么要使用SVN?       程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。 Subversion是什么?    它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subvers... 阅读详情

相关推荐

SVN 安装与使用教程 2020年9月更新最新教程

今天笔者为大家带来 SVN 的安装使用,不知道 SVN 是什么? 就请让笔者为大家介绍一波吧~ SVN介绍 简介 SVN 全称 Subversion,是⼀个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的⼀个项目,同样是一个丰富的开发者用户社区的一部分。 SVN是一个开放源代码的版本控制系统,管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的

人在江湖飘,哪能不挨刀 7978

svn原理剖析

subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件。Subversion支持linuxwindows,但较多安装在linux下。 svn服务器有两种运行方式:独立服务器借助于apache。 svn://或http://

SVN--基本原理与使用(超详细)

1.为什么需要SVN版本控制软件我们想开发一个系统,需要张三,李四、王五三个人进行开发,每个人开发一个系统的某几个模块,我们称作协作开发。他们开发之间进行交流称作远程开发。最后合并成几个版本,如v1.0 、v2.0。这时候就需要SVN来进行版本管理,主要是三个功能:版本回退,协作开发,远程开发。2.解决之道SCM:(Software configuration management)软件配置管理,所谓的软件配置管理实际就是对软件源代码进行控制与管理CVS:元老级产品VSS:入门级产品。

sushang的博客 3万+

【图文详解】入职必备——SVN使用教程

相关视频:复杂代码合并_哔哩哔哩_bilibili

weixin_55076626的博客 6万+

什么是SVN?SVN的简介安装使用

目录   1.SVN 1.1什么是SVN 1.2SVN的作用 1.3常见的版本控制工具 1.4SVN的使用 1.4.1SVN基本使用原理 ​1.4.2SVN使用模式 1.4.3SVN工作方式 1.5SVN的服务器安装 1.5.1下载: 1.5.2图形化服务端 1.5.3安装图形化服务端 1.5.4创建仓库 1.5.4创建工程目录 1.6SVN的客户端安装 1.6....

AlbertYang的博客 3万+

SVN下载、安装及使用

SVN下载、安装及使用

牧泽的博客 1万+

Centos7 搭建SVN服务器

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。 ----百度百科 第一步:yum 安装 svn [root@localhost conf]# yum install su...

xiyeming的博客 154

Git的基本使用笔记——狂神说

C:\Users\kongdeyi\Desktop\gitcode目录下,刚刚执行了git init,创建了本地仓库,删除除.git文件夹外的东西,我们本目录创建一个a.txt文件夹,也可touch的方式创建,然后执行git status给出了a.txt未放入库中的提示,我们git add . 然后git status ,给出可以提交的提示,然后git commit -m "消息" 提交后。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。

csdnidofkdy2138的博客 1532

Git基础学习

git入门学习了解

qq_46026241的博客 137

Subversion 1.8.3:版本控制的优化与新特性

本文还有配套的精品资源,点击获取 简介:Subversion(SVN)是用于管理软件项目中源代码其他文件变更历史的开源版本控制系统。SVN 1.8.3版本引入了多项改进新特性,包括版本控制的核心功能、分支与合并的优化、原子性提交的保证、属性支持、URL引用的稳定性、冲突解决的改进、性能提升、详细的日志差异对比,以及备份恢复的优化。此外,SVN 1.8.3与多种客户端...

weixin_32098457的博客 968

GIt初学习,B站视屏

Git是目前世界上最先进的分布式版本控制系统!配置SSH公钥及创建远程仓库。IDEA中集成Git操作。GitSVN的区别。常用的linux命令。Git项目创建及克隆。Git的基本操作命令。关于Git中分支说明

kaerk的博客 216

centos7输入shell找不到命令_Git命令简化笔记--再也不担心找不到通用教程了

前言世间无奇不有,这Git也算是由一个神奇的人在神奇的时刻开发出的神奇东西。Linux之父Linus选择BitKeeper作为Linux内核代码管理工具,却因为有人试图对BitKeeper进行反向工程,这是想搞事啊,结果BitKeeper的使用权被收回。Linus表示老子也很无奈,于2005年4月3日花了5天时间开发了Git,又用了3周完善,可能他当时也没想到,这个“小东西”会为成现在最流行的版本...

weixin_42300194的博客 493

SVN安装及基本操作

目录 1.SVN是什么 版本控制是什么? 为什么要使用SVN? 2.Svn服务端客户端获取方式 服务端:https://www.visualsvn.com/server/download/ 客户端:https://tortoisesvn.net/downloads.html 3.svn工作流程架构图; 3.1 svn工作方式: 3.2 svn架构图: 4.操作svn服务器的...

6010

SVN仓库安装、备份迁移基本操作

仓库备份 svnadmin dump 1、备份方式多样 2、如果版本数过多,dump的过程将非常慢 3、备份耗时,恢复更耗时 4、备份时数据变大,恢复后数据可能会变小 5、仓库下的passwdauthz不会备份 全备份 在需要备份SVN仓库的服务器上执行如下命令 sudo svnadmin dump /path/repository > /path/repository-backup.2019-12-27 做版本0-2的备份 sudo svnadmin dump /path/repository

qq_40907977的博客 1059

SVN基本操作

svn简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。 svn工作原理 svn基本的命令 checkout 签出 把服务器的代码下载到本地一份. 例:项目组来了位新成员...

Icebreaker 1002

SVN简介工作原理

subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件。Subversion支持linuxwindows,但较多安装在linux下。 svn服务器有两种运行方式:独立服务器借助于apache。 svn://或http:// svn客户端tortoisesvn svn基本工作原理: 在一台服务器上建立一个源代码

GUO_LOVER的博客 2305

SVN基本操作之新手上路

SVN是什么   Svn是一个离线的代码管理,可以多个人一起修改,然后再将修改的内容提交到Svn中。   每一个svn服务器中的数据存储单位叫做存储,但是你不仅仅可以把整个存储当作你维护的内容,也可以将其中的某个分支目录像根存储一样的使用。   Svn是严格区分大小写的,存储中路径的名字只有大小写不同,也会当作不同的路径处理。注意这里会在windows平台下导致一些非常严重的问题。在wind

BorysKwok 个人博客 1258

SVN工作原理

SVN 官网:https://subversion.apache.org/ Github SVN 源码:https://github.com/apache/subversionSV 菜鸟教程 N服务器是版本控制管理工具,其核心是集中式代码管理。 开发者在开始新一天工作之前必须现在本地update一下代码,然后开发、解决冲突、合并。所有的版本信息都放在SVN上面。 一、运行方式 svn服务器有两种...

番薯大佬的专栏 7195

SVN基本操作

文章摘要:SVN 基本操作:SVN是什么 Svn是一个离线的代码管理,可以多个人一起修改,然后再将修改的内容提交到Svn中。 每一个svn服务器中的数据存储单位叫做存储,但是你不仅仅可以把整个存储当作你维护的内容,也可以将其中的某个分支目录像根存储一样的使用。 Svn是严格区分大小写的,存储中路径的名字只有大小写不同,也会当作不同的 ...

tuyerv的博客 482
上一篇: distinct和group by的效率
下一篇: 关于分布式架构的优缺点、问题、层级、技术栈等的归纳
Dame Time
博客等级 码龄10年 7粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值