svn 常用命令

2023-05-16

svn简介:

  • Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。

  • 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

常用命令

1、svn checkout path

path 是服务器上的目录。


 svn checkout path
 例如:svn checkout  svn://192.168.1.1/pro/domain
 简写:svn co  

1.1 svn checkout path subv

这样将把你的工作拷贝放到subv而不是和前面那样放到trunk

2、svn add file

file是某个文件或者某个目录,如果添加所有的文件则用点“.”表示。


 svn add file
 例如:svn add test.php
 svn  add  *.php(添加当前目录下所有的php文件)
 svn add . (表示添加所有文件)  

3、svn commit

提交文件到服务器。


 svn commit -m “LogMessage“ [-N] [--no-unlock] path(如果选择了保持锁,就使用–no-unlock开关)
 例如:svn commit -m “add test file for my test”  test.php
 简写:svn  ci  

一般步骤:

  • step-1:svn update

  • step-2:svn add file、svn delete file

  • step-3:svn commit -m “提交文件到远程服务器”

4、svn lock

加锁/解锁命令。


 svn lock -m “LockMessage” [--force] path
 例如:svn lock -m “lock test file”  test.php
 svn unlock path  

5、svn update

更新版本命令。


 svn update -r m path
 例如:
 1、 svn update 后面没有目录,默认更新当前目录及子目录的所有文件到最新版本。
 2、 svn update -r 200 test.php (将版本库中的文件test.php还原到版本200)
 简写:svn up  

update命令还可以进行文件恢复。 (1)不小心写错了很多东西,想撤销所写的东西(已经把修改提交到服务器)svn update -r 版本号 (2)不小心删错了文件,想把文件恢复回来(已经把删除提交到服务器)
svn update -r 版本号

6、svn status


 svn status -v path
 svn status path
 简写:svn st  

显示文件和子目录的状态。 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。 注:svn statussvn diffsvn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

文件状态描述

  • ‘ ‘ 没有修改

  • I 被忽略

  • R 被替换

  • ~ 受控文件被其他文件阻隔

"!"表示:本地执行了"rm -rf",但是未执行"svn del"的状态。
"?"表示:本地新加了一个文件,但是未执行"svn add"的状态。
"A"表示:本地新加了一个文件,且执行了"svn add"的状态。
"X"表示:执行了"svn external"的状态。
"D"表示:本地执行了"rm -rf",且执行了"svn del"的状态。
"M"表示:本地修改了该文件时的状态。
"C"表示:冲突状态,是重点关注状态之一。
————————————————
 

7、svn delete

删除文件。


 svn delete path -m “delete test file”
 例如:
 1、删除远程服务器文件
 svn delete svn://192.168.1.1/pro/domain/test.php  -m “delete test file”
 2、删除本地文件,然后提交
 svn  delete test.php, 然后再svn ci -m “delete test file”,推荐使用这种
 简写:svn (del, remove, rm)  

8、svn log

查看日志。


 svn log path
 例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化。  

如果在工程的根目录使用该命令可能会列出非常多的日志内容,因此为了查找方便,我们通常会使用一些附加参数来配合svn log命令的使用。

查看一段日期的日志


 svn log -r {2018-07-03}:{2018-07-09}  

显示某一版本范围的log列表

显示从r199687到r199385范围的所有带jaspersong字符串的log (grep下面介绍)


 svn log -r r103546:r104414 | grep -A 2 jaspersong  

这里说明一下grep -A 2 "jasper"|中A后面数字的差别,不同的数字表示显示的log版本信息不同的行数。

查看某一版本所修改的文件列表及说明

此命名用得比较多。


 svn log -r r196674 -v  

查找分支所有的修改


 svn log -v --stop-on-copy $URL  

9、svn info path

查看文件详细信息。


 例如:svn info test.php  

10、svn diff path

默认将修改的文件与基础版本比较。


 例如:svn diff test.php
 svn diff -r m:n path(对版本m和版本n比较差异)
 例如:svn diff -r 200:201 test.php
 简写:svn di  

11、svn merge -r m:n path

Linux命令行下将两个版本之间的差异合并到当前文件。


 svn merge -r m:n path
 例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下。  

12、svn help

Linux命令行下SVN 帮助。


 svn help ci  

svn 冲突

解决冲突

第一种,利用update的选项进行冲突解决,也就是说不管当前拷贝副本是否是最新版本,都使用—accept参数作为冲突处理方式

  --accept ARG             : specify automatic conflict resolution action
                            ('postpone', 'base', 'mine-conflict',
                             'theirs-conflict', 'mine-full', 'theirs-full',
                             'edit', 'launch')

(p)  postpone    - mark the conflict to be resolved later //让文件在更新完成之后保持冲突状态。
(df) diff-full   - show all changes made to merged file //使用标准区别格式显示base修订版本和冲突文件本身的区别。
(e)  edit        - change merged file in an editor //用你喜欢的编辑器打开冲突的文件,编辑器是环境变量EDITOR设置的。
(r)  resolved    - accept merged version of file //完成文件编辑之后,通知svn你已经解决了文件的冲突,它必须接受当前的内容—从本质上讲就是你已经“解决了”冲突。
(mf) mine-full   - accept my version of entire file (ignore their change//丢弃新从服务器接收的变更,并只使用你查看文件的本地修改。
(tf) theirs-full - accept their version of entire file (lose my changes)//丢弃你对查看文件的本地修改,只使用从服务器新接收的变更。
(l)  launch      - launch external tool to resolve conflict//启动一个外置程序来执行冲突解决,这需要一些预先的准备。
(h)  help        - show this list //显示所有在冲突解决时可能使用的命令。


-----------------------------------

 

不是常用的命令如下:

13、svn list path

显示path目录下的所有属于版本库的文件和目录。


 简写:svn ls  

14、svn revert path

下面两种情况都可以用revert命令恢复。

  • (1)不小心写错了很多东西,想撤销所写的东西(还未把修改提交到服务器)

  • (2)不小心删错了文件,想把文件恢复回来(还未把删除提交到服务器) 注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。【还不没实践过,不知道不会恢复本地删除的目录是什么意思】

15、svn resolved path

移除工作副本的目录或文件的“冲突”状态。


 用法: svn resolved path  

注意: 【本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 path 可以再次提交。】

16、svn copy创建分支

  • 创建分支参考资料: https://www.cnblogs.com/huang0925/p/3254243.html svn 命令行创建和删除 分支和tags_svn 分支 命令_steven_yzx的博客-CSDN博客 linux下svn服务器搭建及创建分支_llinux 创建svn分支_minmin很潇洒的博客-CSDN博客

  • 从主干上创建分支。


 svn cp -m "create branch"  http://svn_server/xxx_repository/trunk  http://svn_server/xxx_repository/branches/br_feature001  
  • 获得分支


 svn co http://svn_server/xxx_repository/branches/br_feature001  
  • 主干合并到分支


 cd br_feature001
 
 svn merge http://svn_server/xxx_repository/trunk  
  • 分支合并到主干 一旦分支上的开发结束,分支上的代码需要合并到主干。SVN中执行该操作需要在trunk的工作目录下进行。命令如下:


 cd trunk
 svn merge --reintegrate http://svn_server/xxx_repository/branches/br_feature001  

17、分支合并到主干一

  • 创建分支


 svn copy http://example.com/repos/project/trunk http://example.com/repos/project/branches/beta  
  • 合并分支到主干 在分支上,获取刚开始的版本号


 svn log --stop-on-copy  http://example.com/repos/project/branches/search_collect_1108  

如得到版本号为:12461

在分支上,获取最新的版本号


 svn up  

如得到版本号为:12767

切换到主干,然后执行下面命令(后面的路径为,分支的路径。)


 svn merge -r 12461:12767  http://example.com/repos/project/branches/search_collect_1108  

18、合并一个分支到主干二

  • 查找到分支版本 方法一:进入分支目录


 cd branch
 svn log --stop-on-copy  

最后一个r11340就是创建分支时的reversion

方法二: 进入主干目录


 cd trunk
 svn -q --stop-on-copy 分支URL  # 这条命令会查询出自创建分支以后分支上的所有修改,最下面的那个版本号就是我们要找的版本号.
 示例:svn log -q --stop-on-copy svn://192.168.1.177/tags/beta_2009_12_24  
  • 合并到主干 命令:svn -r 分支版本号:HEAD 分支的URL 解释:HEAD为当前主干上的最新版本


 示例:
 cd trunk
 svn merge -r 12:HEAD svn://192.168.1.177/tags/beta_2009_12_24  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

svn 常用命令 的相关文章

  • 在未知包名的情况下用ADB命令导出手机上对应的apk

    一 背景 很多时候 xff0c APK文件只存在于应用市场 xff0c 在PC上无法直接下载 用手机下载下来后就直接安装了 xff0c 也不能保存原始的APK文件 APK安装到手机后 xff0c Android系统会保存一份和原始APK一模
  • BP神经网络基础——推导过程

    彻底搞懂BP神经网络 理论推导 43 代码实现 xff08 C 43 43 xff09 哔哩哔哩 bilibili
  • 关于noVNC连接TightVNC黑屏问题

    noVNC连接TightVNC 2 8 8 黑屏问题 查阅大量资料才知道是bug 降低到tightvnc 2 6 0 setup 64bit 版本就解决了 赶快降版本吧 xff01 后面才发现不是这个问题 下载一个虚拟显示器软件 或者插一个
  • xrandr 常用命令 用于双显示器 切换屏幕

    xrandr常用命令 xff08 这里的VGA与LVDS分别换成第1步中的设备名 xff0c 如VGA1 LVDS1 xff09 xff1a xrandr output VGA same as LVDS auto 打开外接显示器 auto
  • Ubuntulinux离线安装ClamTk杀毒软件步骤和使用方法

    Ubuntulinux离线安装ClamTk杀毒软件步骤和使用方法 一 安装杀毒软件 1 拷贝杀毒软件所需安装包到主机 2 进入软件包目录下执行如下命令进行安装 xff1a sudo dpkg i libcurl4 7 68 0 1ubunt
  • 一步解决双系统时间不一致问题

    当你从Windows系统切换到Ubuntu系统时 xff0c 会发现时间居然便差了8个小时 xff0c 这是怎么回事 xff1f 相信很多和我一样初次体验双系统的小伙伴都会遇到这样的问题 xff0c 本人也是在网上看了很多解决办法 xff0
  • 最新Ubuntu系统 22.04.1 LTS版本 支持开启WIFI热点

    桌面操作系统一直是WIndows的天下 xff0c 但由于Linux系统的开源理念和众多开发者的共同努力 xff0c 诞生了很多基于Linux的开源操作系统 xff0c Ubuntu就是世界上最流行的Linux系统之一 xff0c Ubun
  • 电脑自动安装垃圾软件怎么办?拒绝重装系统,教你一招搞定!

    相信读到这篇文章的你也遭遇了和我一样的痛苦 xff0c 我非常理解 xff0c 希望我的这个方法能解决你的问题 我使用了各种杀毒软件 xff0c 各种管家 xff0c 各种安全卫士 xff0c 各种系统急救箱 xff0c 电脑安全模式下查杀
  • Python学习笔记(三)

    最近在学习慕课上的公开课 Python语言程序设计 xff0c 该课程是国家精品 xff0c 由来自北京理工大学的 嵩天团队精心打造 xff0c 讲解清晰 xff0c 层层递进 xff0c 想跟我一起学习的可点击蓝色课程名称直接跳转到该课程
  • 我的创作纪念日

    机缘 最开始是有了一台新电脑 xff0c 就想体验体验一下装机过程 xff0c 从硬件到软件 买的配件自己组装的电脑 xff0c 点亮电脑以后 xff0c 又装上了Windows系统 xff0c 后来又想体验一下Linux系统 xff0c
  • 国产ChatGPT之初体验

    ChatGPT的大火 xff0c 不仅让人惊讶现代人工智能的发展速度 xff0c 更让人增加了人类会不会被人工智能取代的担忧 ChatGPT属于NLP自然语言处理人工智能 xff0c 虽然仍然有很多不足 xff0c 但在其能力范围内 xff
  • GLPT团队程序设计天梯赛 模拟赛 2023

    L1 1 嫑废话上代码 span class token macro property span class token directive hash span span class token directive keyword incl
  • Matplotlib填充色Colormap

    Matplotlib填充色Colormap Matplotlib 有许多可通过 matplotlib cm get cmap 访问的内置 colormap 还有一些外部库有许多额外的颜色图 xff0c 可以在 Matplotlib 文档的第
  • ZeroMQ---订阅发布模式

    概述 ZeroMQ的订阅发布模式是一种单向的数据发布 xff0c 当客户端向服务端订阅消息之后 xff0c 服务端便会将产生的消息源源不断的推送给订阅者 一个发布者 xff0c 多个订阅者的关系 1 xff1a n xff0c 当发布者数据
  • STM32实验二:按键输入实验总结

    跑马灯实验中IO口是输出口 xff0c 下面我们研究STM32的IO口作为输入口 xff1a STM32的IO口输入使用时是通过调用做输入使用的时候 xff0c 是通过调函数GPIO ReadInputDataBit 来读取 来读取 IO口
  • 学习笔记1

    人工智能 使一部机器像人一样进行感知 认知 决策 执行的人工程序或系统 深度学习的 不能 算法输出不稳定 xff0c 容易被 攻击 发生微小变化 xff0c 图像极易被改变 模型复杂度高 xff0c 难以纠错和调试模型 层级复合程度高 xf
  • Linux输入输出重定向

    linux文件描述符 xff1a 0标准输入 1标注输出 2标准错误输出 echo 输出到终端 gt 输出重定向到文件 echo test test txt就会把输出从终端重定向到test Tex文件 cast test txt查看文件te
  • Spring的事务传播行为

    propagation required spring默认的事务传播行为 xff0c 标识该方法必须运行在事务中 如果当前事务存在 xff0c 则方法会在该事务中执行 xff0c 否则创建一个新的事务 propagation support
  • Matlab版本对应CUDA

    Matlab对应CUDA
  • 层次Softmax相关论文整理

    Softmax函数是逻辑函数的一种推广 xff0c 广泛应用于神经网络的多分类问题中 xff0c 然而其计算复杂度与类别大小呈线性关系 xff0c 在应用于语言模型 机器翻译时会带来高额的计算量 xff0c 故而不少研究尝试寻找其高效的近似

随机推荐

  • Cas单点登录(6)Cas Client配置

    1 新建项目 新建javaEE项目CasClient xff0c 添加jar包cas client core 3 2 1 jar 2 修改web xml 向javaEE项目的WEB INF web xml添加以下代码 span class
  • VMware导入vmdk文件

    场景 从别的地方拷贝了一个系统镜像 后缀是vmdk格式 现在演示如何导入到本地 操作步骤 打开vmware 点击文件 新建虚拟机
  • Android手机投屏win10

    Android手机投屏win10 win10 操作系统win10 投影到此电脑win10 选择所有位置都可用win10 记住你的win10名称Android 更多连接方式Android 无线显示Android 开启无线显示win10 连接成
  • Linux系统下查看版本信息

    查看Linux内核版本命令 xff08 两种方法 xff09 xff1a 1 cat proc version 显示正在运行的内核版本 root 64 S CentOS home cat proc version Linux version
  • 多幅TM影像的处理技术总结

    本次以Landsat5 的数据为例 处理目标 xff1a 得到一个452千公顷区域的15m TM影像图 xff08 一共由7幅TM影响组成 xff09 参照本方法时 xff1a 具体方法建议参照书 议参照 ENVI 遥感图像处理方法 邓书斌
  • Ureport2小计和合计功能

    原报表样式如下 xff1a 我们希望根据做小计和合计功能 xff0c 希望实现的报表结果如下 xff1a 第一步 xff1a 先按要求设计如下报表 xff1a 此处主要说明三个sum C1 的配置 xff0c 基础配置不在复述 xff0c
  • Ureport2错行分组问题

    错行分组报表样例为 xff1a 表格设计为 xff1a 此处着重说明B2父格配置 如果按照样例进行报表设计 xff0c 但是没有对B2进行父格设置 xff0c 那么报表的展示效果为 xff1a 会发现 xff0c 报表只是罗列完A1值后再罗
  • Ureport2多表关联示例

    如图 xff1a A1与B1分别取自不同表的数据 如果此时进行数据预览 xff0c 则有 xff1a 由此可知 xff0c 如果没有建立关联关系 xff0c 那么A1每一条记录分别匹配B1的所有记录 建立关联关系 xff1a 此处操作符为什
  • Linux操作:通过xshell直接从Linux下载文件到本地

    本文主要介绍通过xshell直接下载文件到本地而不依赖xftp的方式 第一步 xff1a 在xshell中获取文件路径 到需要下载的文件所在的目录输入命令 xff1a pwd 会返回当前目录的路径 xff0c 复制该路径 xff0c 并在末
  • Java下载文件,中文名乱码(attachment;filename=中文文件名)

    问题 下载文件 xff0c 文件名乱码 xff1a 尝试更改字符集 xff1a utf 8 xff0c gbk等都试过 xff0c 就是不行 本地查看response返回 解决方法 response addHeader 34 Content
  • centos7 防火墙开启 (重点)

    常用命令说明 1 通过systemctl status firewalld查看firewalld状态 xff0c 发现当前是dead状态 xff0c 即防火墙未开启 2 通过systemctl start firewalld开启防火墙 xf
  • VMware安装win7后,安装VMware Tools时报错——安装程序无法继续。本程序需要您将此虚拟机上安装的操作系统更新到SP1

    具体报错 xff1a 解决方案一 xff1a 重新更换镜像源 倘若你用的是这样的镜像 xff1a cn windows 7 enterprise x64 dvd x15 70741 iso 换镜像源 换镜像源 换镜像源 xff01 换成带s
  • MySQL字符串拼接的两种方式

    第一种 xff1a MySQL自带语法Concat string1 string2 string3 xff0c 此处是直接把string1和string2等等的字符串拼接起来 xff08 无缝拼接哦 xff09 说明 xff1a 此方法在拼
  • 前端传来的参数后端无法正确接收

    问题 xff1a 今天和前端进行接口联调 xff0c 前端传来的参数如下 xff1a trSpeBadWeatherAttention linkId 34 S32 34 badWeatherType 34 0 34 simulationDa
  • 音乐——时间煮雨

    歌手 xff1a 郁可唯 作词 郭敬明 落落 作曲 刘大江 武部聡志 编曲 黄毅 风吹雨成花 时间追不上白马 你年少掌心的梦话 依然紧握着吗 云翻涌成夏 眼泪被岁月蒸发 这条路上的你我她 有谁迷路了吗 我们说好不分离 要一直一直在一起 就算
  • 物理机安装 Ubuntu18.04 + CUDA + Anaconda (简明图文教程)

    安装过程 xff08 1 xff09 安装 Ubuntu1 1 安装 ultraiso1 2 下载 ubuntu 18 4 系统1 3 制作U盘启动盘1 4 安装操作1 5 磁盘格式化和挂载 xff08 2 xff09 安装 CUDA 环境
  • WinForm界面开发教程——图文并茂的界面设计

    DevExpress WinForm v20 2完整版下载 DevExpress技术交流群3 xff1a 700924826 欢迎一起进群讨论 DevExpress WinForms拥有180 43 组件和UI库 xff0c 能为Windo
  • jdk8——字符串数组按照指定要求分组后取最大值

    要求 xff1a 如下月份数据 xff1a 34 20220901 34 34 20220912 34 34 20220923 34 34 20220929 34 34 20221010 34 34 20221101 34 34 20221
  • https证书识别和转换

    1 证书识别 xff1a 安全证书如下 xff1a BEGIN CERTIFICATE END CERTIFICATE 普通私钥如下 xff1a BEGIN PRIVATE KEY END PRIVATE KEY RSA 私钥如下 xff1
  • svn 常用命令

    svn简介 xff1a Subversion SVN 是一个开源的版本控制系統 也就是说 Subversion 管理着随时间改变的数据 这些数据放置在一个中央资料档案库 repository 中 这个档案库很像一个普通的文件服务器 不过它会