当前位置: 首页 > news >正文

SVN 安装及常用命令

一、SVN 安装

1. Windows 系统安装

  1. 下载地址:Subversion 官方 binaries
  2. 推荐使用 SlikSVN 或 CollabNet 版本
  3. 安装步骤:
    • 双击安装包,勾选 "Add subversion to the system PATH"
    • 一路下一步完成安装
    • 验证:cmd 中输入svn --version,显示版本信息即成功

2. Linux 系统安装

# Ubuntu/Debian
sudo apt-get install subversion# CentOS/RHEL
sudo yum install subversion# 验证安装
svn --version

3. Mac 系统安装

# 使用Homebrew
brew install subversion# 验证安装
svn --version

二、基本概念

  • 工作副本 (Working Copy):本地存放的项目文件
  • 仓库 (Repository):服务器上存储项目所有版本的数据库
  • 提交 (Commit):将本地修改上传到服务器
  • 更新 (Update):将服务器最新版本同步到本地
  • 检出 (Checkout):从服务器获取项目到本地

三、常用命令

1. 仓库操作

# 检出仓库到本地
svn checkout <仓库URL> [本地目录]
# 简写
svn co <仓库URL> [本地目录]# 创建本地仓库
svnadmin create <仓库路径># 导入本地项目到仓库(首次)
svn import <本地项目路径> <仓库URL> -m "初始化导入"

2. 日常操作

# 查看工作副本状态
svn status
# 详细状态
svn status -v# 查看文件修改内容
svn diff <文件名># 将文件添加到版本控制
svn add <文件名/目录># 删除文件
svn delete <文件名>
# 或直接删除文件后执行
svn rm <文件名># 提交修改到服务器
svn commit -m "提交说明"
# 简写
svn ci -m "提交说明"# 更新本地副本到最新版本
svn update
# 简写
svn up# 查看提交日志
svn log
# 查看指定文件日志
svn log <文件名>

3. 版本控制

# 查看文件的特定版本
svn cat <文件名>@<版本号># 查看版本差异
svn diff -r <版本号1>:<版本号2> <文件名># 回滚到指定版本
svn update -r <版本号> <文件名># 创建分支
svn copy <源路径> <目标路径> -m "创建分支说明"# 合并分支到主干
svn merge <分支URL> <本地主干目录># 查看文件历史
svn log -v <文件名>

4. 其他常用命令

# 查看忽略列表
svn propget svn:ignore <目录># 设置忽略文件
svn propset svn:ignore "<忽略规则>" <目录># 清理工作副本(解决冲突等问题)
svn cleanup# 解决冲突后标记为已解决
svn resolved <文件名># 锁定文件(防止多人同时修改)
svn lock <文件名> -m "锁定说明"# 解锁文件
svn unlock <文件名>

四、冲突处理

  1. 发生冲突时,文件会被标记为冲突状态

  2. 冲突文件会生成三个额外文件:

    • filename.mine:自己修改的版本
    • filename.rOLDREV:更新前的版本
    • filename.rNEWREV:服务器最新版本
  3. 解决步骤:

    # 1. 编辑冲突文件,解决冲突
    # 2. 标记为已解决
    svn resolved <冲突文件>
    # 3. 提交解决后的版本
    svn ci -m "解决冲突"
    

五、实用技巧

  1. 配置别名:在~/.bashrc 或~/.bash_profile 中添加

    alias svnci='svn commit -m'
    alias svnup='svn update'
    alias svnst='svn status'
    
  2. 设置全局忽略

    # 编辑配置文件
    svn config --edit miscellany
    # 添加
    global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__
    
  3. 使用图形化工具

    • TortoiseSVN (Windows)
    • Cornerstone (Mac)
    • RabbitVCS (Linux)

以上命令覆盖了 SVN 日常使用的 90% 场景,掌握这些足以应对大部分版本控制需求。


文章转载自:

http://6Kb1SLcG.mftzm.cn
http://lVacQVgS.mftzm.cn
http://UY3wlycv.mftzm.cn
http://kfzwpx3k.mftzm.cn
http://eeFJdCsw.mftzm.cn
http://iJ5QE8Gg.mftzm.cn
http://bSDE4Eci.mftzm.cn
http://aG77BDTg.mftzm.cn
http://AlDW4odd.mftzm.cn
http://WdCO9rbY.mftzm.cn
http://j89IUjuv.mftzm.cn
http://vhyaNO6S.mftzm.cn
http://s6cFGowx.mftzm.cn
http://FYk1dNTU.mftzm.cn
http://Z05nyWLG.mftzm.cn
http://0oSkgM6f.mftzm.cn
http://eGGk2L4s.mftzm.cn
http://zkyhEM8N.mftzm.cn
http://YWchURfp.mftzm.cn
http://aajGSDQS.mftzm.cn
http://EcEJ4KRi.mftzm.cn
http://ZvO2MTVU.mftzm.cn
http://K67mY0UQ.mftzm.cn
http://vOCY9gOv.mftzm.cn
http://nSU39eCj.mftzm.cn
http://qQpWAHfo.mftzm.cn
http://D9g7akKQ.mftzm.cn
http://ptEdLkBf.mftzm.cn
http://abHRoG2G.mftzm.cn
http://rj8DfDGd.mftzm.cn
http://www.dtcms.com/a/386469.html

相关文章:

  • 服务器硬盘管理与 RAID 维护完全指南
  • 【Java后端】Spring 如何解决循环依赖:原理 + 源码解读
  • 进程之间的通信(共享内存 + 其他IPC原理)
  • AI 提示词学习笔记
  • PHP通过命令行调用Ghostscript把pdf转换成图片集
  • AWS 弹性伸缩(Auto Scaling)详解:服务器如何自动顶住流量洪峰?
  • 企业级AI应用落地实战(一):落地历程分享
  • 主数据管理:标准化缺失的潜在三大风险
  • LLC--开关损耗及软开关
  • 计算机视觉 - 对比学习(下)不用负样本 BYOL + SimSiam 融合Transformer MoCo-v3 + DINO
  • 内存与网络的字节序:大端 vs 小端
  • Linux网络:网络基础
  • [视图功能3] 排序与分组在业务数据分析中的应用
  • 架构师成长之路-集群
  • 《WINDOWS 环境下32位汇编语言程序设计》学习17章 PE文件(1)
  • cursor中配置qwen3-coder模型使用
  • 智慧健康驿站:AI与IoT赋能下的健康社区建设新引擎
  • 贪心算法应用:MEC任务卸载问题详解
  • Linux基础知识-安装jdk8与jmeter
  • 基于Django+Vue的新闻文本分类系统(协同过滤推荐算法)
  • 机器人控制器开发(通讯——建图和导航模式切换)
  • 容器化部署项目05
  • AI如何深度驱动数据资产入表业务开展-一线经验
  • Chromium 138 编译指南 macOS 篇:Xcode 与开发工具安装配置(二)
  • 网络.1 UDP
  • 在 Mac 环境安装全局默认版本 Python
  • 小迪安全v2023学习笔记(八十三讲)—— 组件安全JacksonFastJsonXStreamCVE复现
  • 鲁能大师显卡跑分计算规则,与算力对应关系?
  • 边缘智能的“隐形引擎”——TinyML 模型在 ARM Cortex-M 系列上的极致量化与加速实战
  • kernel32.dll如何修复?科普kernel32.dll缺失的故障问题的多种解决方法