登录/注册

svn命令

更多

好的,以下是一些常用的 SVN 命令及其中文解释

基础操作

  1. 检出 (Checkout - 首次获取仓库):

    svn checkout <仓库URL> [本地目录名]
    # 缩写: svn co
    # 作用:从远程SVN仓库下载整个项目或特定目录到本地工作副本。这是开始工作的第一步。
  2. 更新 (Update - 获取最新改动):

    svn update
    # 缩写: svn up
    # 作用:将本地工作副本与远程仓库同步。拉取其他人提交的改动,保证你本地是最新版本。
    # 更新特定文件/目录:svn up [文件或目录路径]
  3. 提交 (Commit - 上传你的改动):

    svn commit -m "提交说明"
    # 缩写: svn ci
    # 作用:将你对本地工作副本所做的改动(添加、删除、修改的文件)上传到远程仓库。
    # `-m` 后必须跟一个描述本次提交内容的**中文或英文**说明。非常重要!
    # 提交特定文件/目录:svn ci [文件或目录路径] -m "说明"
  4. 添加 (Add - 标记新文件待提交):

    svn add <文件名或目录名>
    # 作用:将**新创建**的文件或目录纳入版本控制?。标记它们,下次 `svn commit` 时会被上传到仓库。
    # 注意:添加后文件状态变为 `A` (Added),需要 `commit` 才真正入仓库。
    # 添加当前目录所有新文件:svn add . --force
  5. 删除 (Delete - 标记删除待提交):

    svn delete <文件名或目录名>
    # 缩写: svn del, svn rm
    # 作用:标记文件或目录从版本控制中删除?。本地文件会被删除,状态变为 `D` (Deleted),需要 `commit` 仓库才会移除。
  6. 状态 (Status - 查看本地改动状态):

    svn status
    # 缩写: svn stat, svn st
    # 作用:查看工作副本中文件的状态。这是最常用的命令之一!
    #   `?` - 未纳入版本控制 (未 `add`)
    #   `A` - 已被 `add` 等待提交
    #   `D` - 已被 `delete` 等待提交
    #   `M` - 内容被修改
    #   `C` - 冲突 (需要解决)
    #   `!` - 文件丢失或不完整(可能被误删)
    #   `~` - 版本化项目被阻碍(如同名文件存在)
    #   `I` - 忽略
    # 使用 `svn status -v` 查看详细状态(包括版本号)。
  7. 差异 (Diff - 查看改动内容):

    svn diff
    # 缩写: svn di
    # 作用:显示工作副本中尚未提交的改动具体内容(相对于基础版本)。
    # 查看特定文件改动:svn diff <文件名>
    # 与特定旧版本比较:svn diff -r 旧版本号 [文件名]
    # 比较两个版本:svn diff -r 版本号1:版本号2 [文件或目录URL]

? 信息查看

  1. 日志 (Log - 查看提交历史):

    svn log
    # 作用:显示当前工作副本(或指定URL)的提交历史记录,包括作者、日期、日志消息。
    # 查看特定文件历史:svn log <文件名>
    # 限制显示条目数:svn log -l 10 (显示最近10条)
    # 查看特定版本的日志:svn log -r 版本号
    # 查看某个版本区间:svn log -r 起始版本:结束版本
  2. 列表 (List - 查看仓库目录内容):

    svn list <仓库URL>
    # 缩写: svn ls
    # 作用:列出远程仓库中特定URL路径下的文件和目录(**不下载文件内容**),类似于 `ls` 命令。
    # 查看本地工作副本目录(需连接仓库):svn ls
    # 显示详细信息(类似 `ls -l`):svn ls -v <仓库URL>
  3. 信息 (Info - 查看详细信息):

    svn info
    # 作用:显示工作副本或指定URL的详细信息,如仓库URL、根URL、当前版本号(修订号)、最后修改的版本/作者/日期等。
    # 查看特定文件/URL信息:svn info <路径或URL>

? 撤销与恢复

  1. 撤销本地修改 (Revert - 丢弃未提交的改动):

    svn revert <文件名>
    # 作用:**丢弃**你对文件所做的**尚未提交**的本地修改,将其恢复到修改前(或最后一次更新时)的版本。
    # 撤销整个目录及其子目录:svn revert -R <目录名>

    ⚠️ 谨慎使用!此操作不可逆,会永久丢弃你的未提交工作。

  2. 恢复到旧版本 (Update to Revision):

    svn update -r <版本号>
    # 作用:将工作副本中的文件**暂时**回退到指定的历史版本(只影响本地,不影响仓库)。用于查看旧代码或基于旧版本修复问题。
    # 恢复到最新版本:svn update (不带 `-r`)

    注意:这本质上还是一个 Update 操作,只是指定了版本号。

? 分支与标签 (高级概念)

  1. 复制 (Copy - 创建分支/标签):

    svn copy <源URL或路径> <目标URL或路径> -m "创建说明"
    # 缩写: svn cp
    # 作用:在仓库中创建一个副本。这是创建**分支 (branch)** 和 **标签 (tag)** 的基础命令。
    # 例子 (在仓库内操作):
    #   svn cp ^/trunk ^/branches/my-new-branch -m "创建用于开发新功能的分支"
    #   svn cp ^/trunk ^/tags/release-1.0 -m "为1.0版本创建标签"
    # 例子 (本地工作副本操作):
    #   svn cp trunk branches/my-new-branch (先切换到仓库根目录工作副本)
    #   svn commit -m "提交新分支的创建" (本地复制操作需要提交)
  2. 切换 (Switch - 切换工作副本指向不同分支/标签):

    svn switch <目标分支/标签URL>
    # 缩写: svn sw
    # 作用:将你现有的工作副本切换到指向仓库中另一个分支或标签(通常是分支或标签的URL)。本地文件会被更新为目标路径的内容。
    # 例子:svn switch ^/branches/my-new-branch (从 trunk 切换到 my-new-branch 分支)
    # 例子:svn switch ^/tags/release-1.0 (切换到 release-1.0 标签)
    # 切换回主干:svn switch ^/trunk

? 解决冲突

  1. 标记冲突已解决 (Resolve):
    svn resolve --accept working <冲突文件名>
    # 作用:当文件发生冲突(`svn st` 显示 `C`)并手动解决冲突后(编辑文件,删除 `.mine`, `.rOld`, `.rNew` 文件),使用此命令告诉SVN冲突已解决。
    # `--accept working`:告诉SVN你选择保留当前工作副本中合并后的文件内容作为最终解决版本。
    # 其他常用 `--accept` 选项:
    #   `--accept theirs-full`:完全使用他人版本(丢弃你的改动)
    #   `--accept mine-full`:完全使用你的版本(丢弃他人改动)
    #   `--accept theirs-conflict`:接受他人对冲突块的修改(仅冲突区域)
    #   `--accept mine-conflict`:接受你对冲突块的修改(仅冲突区域)

    解决冲突后必须运行此命令!

帮助

  1. 帮助 (Help):
    svn help
    # 查看所有命令的帮助
    svn help <命令名>
    # 查看特定命令的详细帮助和使用说明(非常有用!)
    # 例如:svn help commit

? 重要提示:

选择你需要的命令进行尝试吧!如果有具体场景或遇到问题,随时可以再问。?

如何使用SVN进行LabVIEW代码版本控制呢?

其实我们在安装Visual SVN的时候就指定了代码仓库保存位置。此后只要我们通过Visua SVN管理界面去创建代码仓库,就可以将代码保存在这个指定的路径里。

2023-05-30 09:28:48

请教一下大神使用RT-Thread Studio如何进行SVN的代码管理呢?

请教一下大神使用RT-Thread Studio如何进行SVN的代码管理呢?

2023-01-09 16:41:55

u-boot常用的命令合集

u-boot常用的命令合集

资料下载 jupitars3993 2022-02-11 09:50:57

AT命令手册(中文版).pdf

AT命令手册 GSM AT 命令手册,用于gsm通信设置

资料下载 ah此生不换 2021-12-27 16:34:21

Linux操作系统的CP命令源代码汇总

Linux操作系统的CP命令源代码汇总

资料下载 林冠宏 2021-08-04 16:08:55

NUMA架构下的内存数据库命令日志故障恢复

NUMA架构下的内存数据库命令日志故障恢复

资料下载 佚名 2021-06-24 16:26:03

Linux系统中EXP命令详解质量汇总

Linux系统中EXP命令详解质量汇总

资料下载 曙光之前 2021-05-14 09:35:28

为什么Git把SVN拍在了沙滩上?精选资料分享

Git和SVN是大家都比较熟知的版本管理,近几年Git越来越受到大家的喜欢。下面就来分享下关于Git和SVN的内容。Git vs SVN...

2021-07-20 06:49:55

为什么说Git把SVN拍在沙滩上了呢?

Git和SVN是大家都比较熟知的版本管理,近几年Git越来越受到大家的喜欢。   下面就来分享下关于Git和SVN的内容。    Git vs SVN

2021-04-30 11:57:43

如何保存cc2640绑定bond后SVN中的配对信息?

cc2640绑定bond,会保存配对信息在SVN,这个信息是怎么保存的?具体代码是在哪里?

2019-11-11 08:56:28

linux的Shell命令和相关的命令

如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的

2019-10-03 13:14:00

linux的svn安装方法

准备:本来想自己下载svn的压缩文件,后面想想还是麻烦,所以学着用yum命令

2019-07-19 08:24:08

Linux svn管理工具的12个命令详细讲解

目前,绝大多数开源软件都使用svn作为代码版本管理软件。本文结合实例向大家介绍Linux svn经常使用的12个常用命令。本文从目录

2019-07-19 06:16:08

linux svn和checkout的代码迁移

#svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码

2019-07-16 06:11:09
7天热门专题 换一换
相关标签