快速学会SVN的搭建和使用

简介: Subversion(SVN) 是一个开源的版本控制系統,被广泛用于协同开发。本文教你怎样快速搭建和使用SVN版本控制系统,并进行代码的提交、修改和恢复版本。
简介
Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

SVN 的一些概念
  • repository(源代码库):源代码统一存放的地方
  • Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份
  • Commit(提交):当你已经修改了代码,你就需要Commit到repository
  • Update (更新):当你已经Checkout了一份源代码,Update一下你就可以和Repository 上的源代码同步,你手上的代码就会有最新的变更
日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) —>作出自己的修改并调试成功 —> Commit(大家就可以看到你的修改了) 。
如果两个程序员同时修改了同一个文件呢, SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。
如果是同一行,SVN会提示文件Confict, 冲突,需要手动确认。

安装SVN
两种方法安装
  • 第一种
点击免费下载阿里云SVN版本控制镜像。
SVN版本控制(Centos 64位 | SVN)
完成之后,登录” ECS 管理控制台”,在左边导航栏里,单击” 实例”,进入 ECS 实例列表页,选择所购 ECS 实例所在的地域,并找到所购 ECS 实例,在” IP 地址”列获取该实例的公网 IP 地址。
  • 第二种
手动安装
1. 环境
   centos7
2. 安装svn
yum install subversion 
   查看版本
svnserve –version
快速学会SVN的搭建和使用
3. 创建版本库
   先建目录
mkdir /var/svn
创建版本库
cd /var/svn
svnadmin create /var/svn/svnrepos

cd svnrepos会看到自动生成的版本库文件:
conf  db  format  hooks  locks  README.txt
快速学会SVN的搭建和使用
subversion目录说明:
  • db目录:就是所有版本控制的数据存放文件。
  • hooks目录:放置hook脚本文件的目录。
  • locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。
  • format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
  • conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。
进入conf目录(该svn版本库配置文件) cd conf/
  • authz 文件是权限控制文件
  • passwd 是帐号密码文件
  • svnserve.conf SVN服务配置文件
设置帐号密码 vi passwd
[users]块中添加用户和密码,格式:帐号=密码,如suzhan=redhat
快速学会SVN的搭建和使用
设置权限 vi authz
在末尾添加如下代码:
[/]
suzhan=rw (r:读,w:写)
快速学会SVN的搭建和使用
修改svnserve.conf文件 vi svnserve.conf
打开下面的几个注释:
  • anon-access = read #匿名用户可读
  • auth-access = write #授权用户可写
  • password-db = passwd #使用哪个文件作为账号文件
  • authz-db = authz #使用哪个文件作为权限文件
  • realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
快速学会SVN的搭建和使用
启动svn版本库
svnserve -d -r /var/svn/svnrepos
停止SVN命令
killall svnserve
ps -ef |grep svn 查看服务是否开启。
快速学会SVN的搭建和使用

在windows上测试
在你的本地项目文件夹或随便一个地方, 右键空白处弹出菜单,选择 SVN检出。然后,通过从SVN服务端获取的资源库URL+具体的项目文件夹名下载相应项目,并可以知道下载项目的保存位置。
快速学会SVN的搭建和使用
快速学会SVN的搭建和使用
第一次登陆需要输入密码,一切以passwd文件里面的账户密码为主!
快速学会SVN的搭建和使用

对项目的修改与提交
1. 把项目下载到本机后,其实就是一个普通的项目文件而已,你可以在里面添加文件、修改文件、删除文件等等。
2. 提交修改 在项目文件空白处右键,选择 SVN提交
快速学会SVN的搭建和使用
然后,输入 本次提交的版本更新信息(所作修改的注释)、勾选要提交的操作内容,点击 确定,即可把本机项目提交到SVN服务器资源库,覆盖掉资源库项目从而实现更新。
如果发生提交冲突,即两人都提交修改, 后提交者由于版本落后会提交失败。这时可以先把自己的项目备份,然后从服务端下载最新的项目,再把自己的项目覆盖到本地项目文件夹,最后SVN提交即可成功提交。
我刚刚删掉了一个文件,这里就会显示: 
快速学会SVN的搭建和使用
3. 获取更新
如果别人修改了SVN服务端资源库上的项目,你想下载最新的项目,则在 本机项目文件空白处单击鼠标右键,选择 SVN更新 ,即可自动完成下载,并会提示所作的更新有哪些。
注意:在原项目文件夹内选择SVN更新的话,会自动覆盖掉原有内容。建议: 先备份,再更新,防止自己本来的项目内容丢失。
快速学会SVN的搭建和使用
4. svn提供历史还原功能
首先打开一个文件夹,右键检出数据
快速学会SVN的搭建和使用

然后删掉数据。这时如果不点提交的话,可以直接点鼠标右键还原即可。
快速学会SVN的搭建和使用
如果点击提交了,那么系统库里的数据也会得到同步,系统也会把它存的数据删掉。
快速学会SVN的搭建和使用

这时点击svn还原是没有用的,需要查看日志,看看是删掉了什么东西。
快速学会SVN的搭建和使用
然后把删掉的文件保存版本到删掉的位置,
快速学会SVN的搭建和使用
打开原文件夹,点击提交,系统库里的数据就和这个文件同步了。


更多开源软件尽在云市场:
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Linux
Linux下安装中文输入法总结
Linux下安装中文输入法总结
6136 0
|
消息中间件 JSON Java
Spring Cloud Stream 整合Kafka
Spring Cloud Stream是一个构建消息驱动微服务的框架,抽象了MQ的使用方式, 提供统一的API操作。
Spring Cloud Stream 整合Kafka
|
JSON JavaScript 定位技术
echarts:从github及其镜像下载china.js和china.json
echarts:从github及其镜像下载china.js和china.json
8275 0
|
13天前
|
人工智能 JavaScript 编译器
限时免费:云效 AI 代码评审新增跨文件感知,改一处查全局
云效 AI 代码评审新增跨文件感知能力,免费开放。改了一个函数,AI 自动追踪所有调用方,提 MR 时就能发现那些藏在 Diff 之外的风险。实测召回率提升 19 个百分点。
|
3月前
|
人工智能 自然语言处理 供应链
1688开启AI时代:当百万工厂遭遇“智能中枢”,B2B彻底变了!
2026年初,1688启动《AI加速·产业带生意抢跑计划》,首推“三保”服务(5万访客、500询盘、300订单),宣告AI为生意“核心引擎”。AI已从工具升级为“智能中枢”,深度重构找厂、选品、定价、出海全链路。“遨虾”跨境AI智能体更填平内外贸鸿沟。中国产业带智能化跃迁正加速到来。
|
3月前
|
存储 人工智能 Linux
龙虾AI永久记忆方案:阿里云/本地部署+OpenClaw三层存储+自动化记忆维护+百炼API配置流程
很多用户在使用OpenClaw(原Clawdbot)时都会遇到一个共性问题:明明刚教会一套完整流程,切换新会话后AI就完全失忆,仿佛从未学习过。这并非模型缺陷,而是你没有正确使用它的三层独立记忆体系。OpenClaw不会自动保存对话内容,所有长期能力必须主动写入存储层,否则AI永远只能记住当前会话。本文深度拆解OpenClaw记忆机制,提供可直接复制的MEMORY.md模板、HEARTBEAT自动化配置、上下文管理实战技巧,并完整覆盖2026年阿里云服务器、MacOS/Linux/Windows11本地部署流程,搭配阿里云百炼Coding Plan免费API,让你的AI助手真正实现跨会话永久记
1947 1
|
5月前
|
人工智能 运维 物联网
民用卡 vs 专业卡 vs 云 GPU:大模型微调该选哪种?
本文深入解析大模型微调中民用卡、专业卡与云GPU的选型难题,从显存、算力、稳定性、成本四大维度对比三类GPU差异,结合个人、团队、企业不同场景,提供“三步选型法”与实测数据,帮你匹配最优方案,实现性能与成本的平衡。
|
人工智能 安全 自动驾驶
通义灵码入职表现实测:蔚来汽车AI 生成代码占比在 30% 以上
希望 AI 编程能应用于更加高阶的场景。我对 AI 自动化编程最大的希望是它能够把整个研发过程,变成一个流水线制造的过程,把我们的整个研发流程规范化起来,并且在每一步都能够对人进行一个指引,类似自动驾驶一样。
|
SQL 数据库 数据安全/隐私保护
gbase8a v953版本兼容模式改造多vc模式
gbase8a v953版本兼容模式改造多vc模式
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术及其在自动驾驶中的应用####
本文深入探讨了深度学习驱动下的图像识别技术,特别是在自动驾驶领域的革新应用。不同于传统摘要的概述方式,本节将直接以“深度学习”与“图像识别”的技术融合为起点,简述其在提升自动驾驶系统环境感知能力方面的核心作用,随后快速过渡到自动驾驶的具体应用场景,强调这一技术组合如何成为推动自动驾驶从实验室走向市场的关键力量。 ####
494 24