svn 命令行使用总结

03.SVN入门笔记——使用命令行模式访问 SVN 服务器 版本控制(Revision control),最初来源于工程设计领域,是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。Subversion 就是一款实现版本控制的工具软件,通常也称为版本控制器,简称 SVN。 Subversion 是 Apache 软件基金会组织下的一个项目。 阅读详情

1、上传项目到SVN服务器上
svn import project_dir(本地项目全路径) http://192.168.1.242:8080/svn/IOS/Ben/remote_dir(svn项目全路径) -m "必填, 不填此命令执行不会成功."
注: 服务器上remote_dir若不存在, 会自动创建;
只会上传project_dir目录下的文件到remote_dir的目录下
import之后, project_dir并没有自动转化为工作目录, 需要重新checkout(后面会用到)


2、下载checkout svn项目到本地
svn checkout http://192.168.1.242:8080/svn/IOS/remote_dir (svn项目全路径)project_dir(本地目录全路径) --username 用户名 --password 密码

svn checkout 简写:svn co


3、添加新文件
svn add file(文件名)
svn add *.php(添加当前目录下所有的php文件)


4、提交到版本库
svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)
svn commit -m “提交当前目录下的全部在版本控制下的文件“ * ( *表示全部文件 )

例如:svn commit -m "add test file for my test" test.php
svn commit -m “提交我的测试用test.php“ -N --no-unlock test.php ( 保持锁就用–no-unlock开关 )
注意:必须带上-m参数,参数可以为空("")

svn commit 简写:svn ci


5、更新文件
svn update
svn update -r 修正版本 文件名
svn update 文件名
例如:
svn update (后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本)
svn update -r 200 test.cpp ( 将版本库中的文件 test.cpp 还原到修正版本(revision)200)
svn update test.php ( 更新与版本库同步 )
  提交的时候提示过期冲突,需要先 update 修改文件,
  然后清除svn resolved,最后再提交commit。

svn update 间写: svn up


6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff、svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

svn status 简写:svn st


7、删除文件
svn delete path -m "delete test fle"
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"
推荐使用:
svn delete test.php 
svn ci -m 'delete test file‘ 

svn delete 简写:svn del/remove/rm


8、查看日志(显示文件的所有修改记录,及其版本号的变化)
svn log path

svn log -l 3查看最新的三条记录
例如:svn log test.php 


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 diff 简写:svn di 


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


12、SVN 帮助
svn help 全部功能选项
svn help ci 具体功能的说明


13、版本库下的文件和目录列表
svn list path
显示path目录下的所有属于版本库的文件和目录

svn list 简写:svn ls


14、创建纳入版本控制下的新目录
svn mkdir newdir 
例如:
svn mkdir -m "Making a new dir." svn://localhost/test/newdir 
用法: 1、mkdir PATH...
2、mkdir URL...
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
(在这两个情况下,所有的中间目录都必须事先存在)

注:添加完子目录后,一定要回到根目录更新svn update一下,不然在该目录下提交文件会提示“提交失败”
注:如果手动在checkout出来的目录里创建了一个新文件夹newsubdir,
   再用svn mkdir newsubdir命令后,SVN会提示:
  svn: 尝试用 “svn add”或 “svn add --non-recursive”代替?
  svn: 无法创建目录“hello”: 文件已经存在
   此时,用如下命令解决:
  svn add --non-recursive newsubdir
  在进入这个newsubdir文件夹,用ls -a查看它下面的全部目录与文件,会发现多了:.svn目录
  再用 svn mkdir -m "添hello功能模块文件" svn://localhost/test/newdir/newsubdir 命令,
  SVN提示:
  svn: File already exists: filesystem '/data/svnroot/test/db', transaction '4541-1',
  path '/newdir/newsubdir '


15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。
用法: revert PATH...
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录
svn revert foo.c <- 丢弃对一个文件的修改
svn revert --recursive . <-恢复一整个目录的文件,. 为当前目录 

16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch --relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动 
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。

svn switch 间写: svn sw


17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH...
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;
它只是移除冲突的相关文件,然后让 PATH 可以再次提交。


18、输出指定文件或URL的内容
svn cat 目标[@版本]...如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)


19、查看svn版本
svn —-version


20、新建分支branchs,在分支上继续开发
1、svn mkdir branches 
2、svn copy svn://server/trunk svn://server/branches/ep -m "init ep" 


21、该版本完成,打tag,发布版本
1、svn mkdir tags 
2、svn copy svn://server/trunk svn://server/tags/release-1.0 -m "1.0 released" 

使用发生的一些问题:

1、错误:
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found

问题原因是: 
没有设置svn编辑器的环境变量,主要是import、commit中填写comment要用

解决方法:
1、在 终端中 sudo vim /etc/bashrc 打开文件
加入:export SVN_EDITOR=vim
2、编辑完以后一般需要让配置文件立即生效,可执行命令:
source /etc/bashrc(也可以不进行这一步)


2、问题:
不小心提交了一些动态改变根本不需要的文件到svn服务器上
解决:
svn resolved filename 放弃对文件的修改,
svn ci -m "update" 提交所有文件
svn rm test.log 删除掉这个文件。
svn ci -m "update" 再次提交


3、发生冲突:
两人同时修改同一文件同一部分,先后提交,出现冲突 
svn ci -m "update" 
svn: Commit failed (details follow): 
svn: Aborting commit: 'test.log' remains in conflict 
解决: 
A、放弃自己的更新,使用svn revert(回滚),然后提交。在这种方式下不需要使用svn resolved(解决)
B、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolved filename并提交(选择文件—右键—解决)。
C、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行resolved filename来解除冲突,最后提交。

坚持使用自己的更新,找到.mine的文件名,恢复为原文件名,然后执行:
svn resolved file_name


http://www.cnblogs.com/czq1989/p/4913692.html Mac搭建本地svn服务器,并用Cornerstone连接服务器
http://blog.sina.com.cn/s/blog_963453200101eiuq.html svn基本操作
http://blog.sina.com.cn/s/blog_74e9d98d01017pmn.html
http://www.cnblogs.com/webrun/p/5460641.html
http://blog.youkuaiyun.com/windone0109/article/details/4857044 SVN版本冲突解决详解

Python-SVN自动化脚本(二):add,commit,changelist,export,mkdir 通过python执行svn add,commit,changelist,export,mkdir命令 阅读详情

相关推荐

Windows下SVN命令行工具使用详解(附加TortoiseSVN)

Windows下SVN命令行工具使用详解(附加TortoiseSVN)

hhduyc的博客 6211

SVN常用指令

svn cmd: 1 svn add index.html 把index.html文件纳入到版本控制中 svn add css 如果add文件夹,则默认把该文件夹下未纳入版本控制的文件一并纳入控制 svn add js --non-recursive 如果只想把目录纳入控制,而不想把所有该目录下的文件纳入控制,可以增加non-recursive svn add * 一次性增加所有(这种情况下会排除non-recursive的目录下的文件) svn add * --force ...

checkchen99的博客 1304

【Diffusion分割】医学图像分割中去噪扩散技术

扩散模型(DPM)在图像生成方面表现出了卓越的性能,其性能往往优于其他生成模型。自其问世以来,强大的噪声-图像去噪管道已被扩展到各种判别任务中,包括图像分割。在医学成像中,图像往往是大型三维扫描图像,由于内存消耗大、迭代采样过程耗时,使用 DPM 对一幅图像进行分割的效率极低。在这项工作中,我们提出了一种(LDSeg),可在潜空间中执行扩散,用于医学影像分割。我们。潜空间条件扩散不仅能确保对多标签对象进行精确的 n-D 图像分割,还能缓解基于 DPM 的传统分割法的主要潜在问题:(。

qq_43583311的博客 1171

TortoiseSVN 右键选项

TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。 TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。 TortoiseSVN每个菜单项都表示什么意思 01、SVN Checkout(SVN取出) 点击SVN ...

yugang_123456的博客 3108

[渗透测试实战篇-4] RCE漏洞组合拳突破Getshell全解析

本文深入解析RCE漏洞组合拳在渗透测试中的实战应用,通过SSRF、XXE等漏洞串联技术突破Getshell的全过程。文章详细介绍了Java和PHP环境下的漏洞利用差异,以及防御绕过与权限维持的实用技巧,为安全研究人员提供全面的实战指导。

weixin_29211309的博客 350

SCL3400-D01双轴高精度倾角计

简介 两轴高精度加速度计,提供两个模式。 ±30° with 10 Hz LPF ±90° with 40 Hz LPF Resolution up to 32768 LSB/g Ultra-low 0.0009°/√Hz noise density 这款传感器是替换之前村田的停产的模拟量系列的芯片,正在测试中,具体效果大伙可以评测。 一、引脚连接图 引脚图兼容SCL3300 二、SPI接口 1.SCL3300和SCL3400略有区别如下图 左边为SCL3...

专注惯导领域 3808

常用SVN命令

1) 将修改后的文件提交到版本库 命令: svn commit 文件名 -m "注释内容" 简写:svn ci 文件名 -m "注释内容" 作用: 将修改后的文件提交到版本库中,要注意和svn add 功能的区别,add并不提交到服务器,而是“预定提交到版本库中”。 例子: 假如修改了文件:android2.3/packages/apps/Desk...

xuela-net 292

测试dali协议的软件,DALI2.0和DALI1.0完美兼容同一个模块,测试每项可过协议

DALI2.0和DALI1.0完美兼容同一个模块,测试每项可过协议深圳聚积智能 夏先生 13246760327 QQ 349098308■IEC62386-102(V2.0)通过测试内容IEC62386-102/2.1/Test preambleIEC62386-102/3.1/Polarity testIEC62386-102/3.2/Maximum and minimum system v...

weixin_35343788的博客 1351

svn命令行使用方法

SVN作为一款经典的版本管理工具,仍有不少公司在使用。在国产化的浪潮下,有些公司会选用ubuntu作为开发系统,本文主要讲述在命令行下svn的一些基本操作方法。

qq_31694641的博客 1166

线上专利申请(超详细)| 签名确认

在【法人登录】页面点击【证书登录】按钮,弹出证书登录提示框,点击【确 认】按钮,进入到输入证书密码页面,点击【取消】按钮,取消本次操作。企业在提交申请时,需要增加签名,如使用企业账户点击提交,会弹出“法人、代理机构不能签名,请使用经办人签名”,这个时候就需要换个账号了。在需要签名时,将专利官网的登录方式点击法人登录,选择扫码登录,使用移动端经办人账户的扫一扫功能扫描登录。登录完成后,再点击签名,使用移动端扫一扫功能,扫描签名,输入证书号,确认签名,并提交。最后,祝大家的申请都成功!

weixin_62112323的博客 9110

深入AOSP构建系统:从BUILD_FINGERPRINT的生成逻辑,看如何定制你的Android设备标识

本文深入解析AOSP构建系统中的设备指纹生成机制,详细介绍了BUILD_FINGERPRINT的生成逻辑及其在Android设备中的关键作用。通过分析多个指纹属性的区别与联系,以及如何定制设备标识,帮助开发者更好地理解和掌握Android系统构建过程。

weixin_27017211的博客 217

linux 命令行使用svn

linux 命令行使用svn简介常用命令 简介 SVN是subversion的缩写,是一个集中式的开放源代码的版本控制系统,通过采用分支管理系统的高效管理。 常用命令 命令 简写命令 描述 svn checkout <库路径> svn co <库路径> 下载远程文件到本地 svn update svn up 更新版本 svn add <文件名> 无 添加新文件 svn commit -m “log_msg” svn ci -m <log_

qq_33865609的博客 2492

【原创教程】西门子1500与施耐德伺服的通讯以及调试

该函数块主要描述伺服的手动,左边的引脚Forward是指伺服手动正转,Backward是指伺服手动反转,Fast是指手动的某个方向为快速运行,TipPos手册上描述为固定值,WaitTIme是指伺服手动的相应时间,VeloSlow指伺服手动正常慢速运动的速度,VeloFast指伺服手动快速运动的速度,Acceleration是指伺服手动的加速度,Decelertion是指伺服手动的减速度。该函数块用于伺服停止,左边的引脚Execute为伺服停止执行,Deceleration含义为减速,Axis为轴。

Qinmingyue13的博客 1374

SVN 命令行的使用

大多数时候我们用TortoiseSVN作为客户端,其实SVN提供了强大的客户端命令行工具,和Git差不不多。   1. 查看工作副本修改的整体状况。 $ svn status ? scratch.c A stuff/loot A stuff/loot/new.c D stuff/old.c M bar.c $...

weixin_34248258的博客 189

哨兵1号回波数据(L0级)包格式解析与成像参数提取

提取哨兵1号数据包的辅助数据、回波数据、定标数据。matlab代码在文末

3124

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SVN的基本使用(命令行)

SVN的基本使用(命令行) YotrolZ关注 2015.10.26 11:47*字数 608阅读 3902评论 0喜欢 5 搭建SVN服务器 创建仓库.png 配置仓库 配置目录 配置仓库-1 配置用户 创建用户-1 创建用户-2 给仓库设置用户-1 设置用户的访问权限 在本地创建存放文件的文件夹 这里我们创...

qq_34874784的博客 1040

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Linux纯命令行界面下SVN的简单使用教程

Linux纯命令行界面下SVN的简单使用教程

诸神缄默不语的博客 1706

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

windows下使用svn命令行

前言 win10 下载命令行工具 下载 Apache Subversion command line tools,这是一个可以在cmd下使用的命令行工具。 配置命令行工具 把解压后的bin目录添加到环境变量中。 set SVN_CMD_HOME=C:\Users\admin\Desktop\Apache-Subversion-1.14.0\bin set path=%path%;%SVN_CMD_HOME% svn help 配置 SVN_EDITOR set SVN_EDITOR=notepad

sayyy的专栏 7563

svn命令行总结及jenkins使用本地命令行进行svn项目检出,提高检出效率

svn命令行总结及jenkins使用本地命令行进行svn项目检出,提高检出效率 之所以使用的svn命令行,是因为jenkins的在svn导出的时候,其使用的svn导出方式太慢,项目比较大的时候几乎无法进行checkout代码。 1.从服务端导出相应的工程与文件夹: 步骤:先在本地进入想要导出到的目录下,然后执行命令:svn checkout serverPath 说明:使用此方式导出的工程文件受到svn版本控制与版本库保持关联,工程中存在隐藏文件.svn,可以进行svn的其他操作。 2.从服务器导出相应的单

绚烂的天空 2004

svn命令行的使用

之前都是用的可视化来操作项目的管理,没有去了解一下svn的命令行。这次为了写一个svn更新并且选择服务器版本的脚本命令,所以查看了一下。 svn提供了非常详细的文档可以让我们查看,首先用svn help来看svn有哪些命令: (括号里面是命令行的简写 例如 更新的话可以写成svn update也可以写成svn up) 如果想要看命令行的参数跟介绍的话用svn (命令) -h。因为我是要写一个关于svn更新,强制接受服务器版本,所以需要知道update命令行可以附加的参数是哪些。输入命令行 svn updat

a641832648的博客 1025

尝试使用svn命令行

使用情况 当项目中的资源需要提交SVN时,非技术人员有时会疑惑究竟哪些文件是需要他们提交的。而就算是技术人员,有时也不确定需要提交什么,因为资源可能是通过一些程序自动生成时,这对于不熟悉这方面的人都会感到疑惑。 一种解决方法是写文档,说明执行什么操作后,需要提交什么资源。 而另一种更友好的方法是,通过svn命令行自动提交。例如,如果项目中有一个工具,它提供了一个界面编辑了[文件夹A]中的资源,那么...

主要记录了工作之余胡乱学习的知识,大部分是入门级别的内容。 主要是为了自己未来有用到时能快速上手,相当于是个备忘录。 当然,也很开心其他人可以从中找到对自己有用的信息。^_^ 543

命令行版SVN使用记录

文章目录前言环境安装正文一、常用的SVN命令检出更新更新到版本提交差异显示日志检查修改已解决改名删除恢复清理获得锁释放锁添加二、使用Python的OS模块执行三、使用Python的subprocess模块执行 前言 记录一下,最近要弄配置表的自动化测试,思路是想着结合Jenkins和本地SVN的,定时去看看哪些配置文件有更新,然后根据文件名来执行对应的测试用例,这篇主要是记录下SVN的操作,前面也写过一篇Python操作SVN的,这篇是用命令行的方式运行。 提示:以下是本篇文章正文内容,下面案例可供参考

游戏测试-AJiian的博客 1071

svn查找历史版本_SVN 使用(命令行方式)

参考网址:SVN - Environment Setup​www.tutorialspoint.com0. 查看系统是否安装了 svnsvn --version注:这样就是安装了-> svn,版本 1.9.5 (r1770682); 这样就是没安装 -> -bash: svn: command not found1. 安装客户端(如果还没有安装的话)# 如果是 RPM-based GN...

weixin_35692838的博客 3636

在Windows下使用svn命令行教程及svn命令行的解释

本文转载自:https://blog.youkuaiyun.com/yangxiao2shi/article/details/50719286/ 以前在公司一直使用git,现在的公司改用svn,一时间还真的不知道如何下手,在网上搜寻了很多大神和官网文档的指导,总结了下面一份教程,希望能够帮助大家快速上手,如果想更细致的了解相关内容,可以点击每个小节里提供的的链接。 1、Windows下命令行工具: 发现...

weixin_34198583的博客 171
上一篇: php中正则表达式详解
下一篇: Laravel 5.1 开启 Entrust 的用户组和权限缓存
firstcode666
博客等级 码龄5年 53粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值