经常使用svn命令说明



1、从SVN仓库中检索出代码到工作拷贝:




# svn checkout https://svn.sinaapp.com/appname [workcopy]



当中workcopy是可选的,假设不写workcopy,SVN会默认将appname做为workcopy。



假设仅仅检索某个版本号:



# svn checkout https://svn.sinaapp.com/appname/appversion [workcopy]



仅仅检索某个版本号的某个文件夹:



# svn checkout https://svn.sinaapp.com/appname/appversion/folder [workcopy]



2、向SVN仓库提交代码:



# svn commit -m "here is message"



3、将本地文件加入到工作拷贝:



# svn add something



注:假设something为文件,svn会将这个文件加入到工作拷贝;假设something是文件夹。svn会将文件夹及里面的文件全加入到工作 拷贝。something也能够是通配符*,这样会忽略已经加入过的文件。



4、从工作拷贝中删除一个文件:



# svn delete something



注:假设something为文件,svn会将这个文件从工作拷贝中删除;假设something是文件夹,svn会将文件夹及里面的文件所有从工作 拷贝中删除。



5、直接从SVN仓库中删除文件:



# svn delete -m "delete something" https://svn.sinaapp.com/appname/appversion/something



注:能够从SVN仓库中直接删除单个文件或单个文件夹甚至某个版本号。

6、将一个本地项目导入到SVN仓库:



导入应用的某个版本号:



# svn import localdir https://svn.sinaapp.com/appname/appversion



注:要确保眼下应用的appversion不冲突。

7、查看工作拷贝中的文件或文件夹状态:



# svn status [something]



8、更新自己的工作拷贝:



# svn update



注:从SVN仓库下载最新版本号。此命令会导致本地没有提交的更改丢失,建议使用此命令前先查看一下本地拷贝状态(svn status).



9、取消对代码改动



取消对代码的改动分为两种情况。

第一种情况:修改没有被提交(commit)。



这样的情况下,使用svn revert就能取消之前的改动。

svn revert使用方法例如以下:



# svn revert [-R] something



当中something能够是(文件夹或文件的)相对路径也能够是绝对路径。



当something为单个文件时,直接svn revert something即可了。当something为文件夹时。须要加上參数-R(Recursive,递归),否则 仅仅会将something这个文件夹的修改。



在这样的情况下也能够使用svn update命令来取消对之前的改动,但不建议使用。

由于svn update会去连接仓库server,耗费时间。

注意:svn revert本身有固有的危急,由于它的目的是放弃未提交的改动。一旦你选择了恢复,Subversion没有方法找回未提交的修 改。



另外一种情况:修改已经被提交(commit)。这样的情况下,用svn merge命令来进行回滚。

回滚的操作步骤例如以下: 



1) 保证我们拿到的是最新代码: 



svn update 



如果最新版本是28。 



2) 然后找出要回滚的确切版本: 



svn log [something]



如果依据svn log日志查出要回滚的版本是25,此处的something能够是文件、文件夹或整个项目



假设想要更具体的了解情况,能够使用svn diff -r 28:25 [something]



3) 回滚到版本25:



svn merge -r 28:25 something



为了保险起见,再次确认回滚的结果:



svn diff [something]



发现正确无误,提交。



4) 提交回滚:



svn commit -m "Revert revision from r28 to r25,because of ..." 



提交后版本号变成了29。



将以上操作总结为三条例如以下:



a. svn update,svn log,找到最新版本号(latest revision)



b. 找到自己想要回滚的版本(rollbak revision)



c. 用svn merge来回滚: svn merge -r : something



10、查看SVN仓库日志信息:



# svn log [workcopy]



查看全部本地的历史日志,假设workcopy为某文件。那么就是查看某个文件的日志信息。



查看SVN仓库全部文件的日志信息:



# svn log https://svn.sinaapp.com/appname/



这个命令会查看全部改动过的日志。



注:SAE提供的SVN服务全然支持标准SVN的全部命令。更具体的使用说明请查阅SVN官方帮助文档。

SVN命令帮助文档:http://www.subversion.org.cn/svnbook/1.4/svn.ref.html



中文全然帮助文档:http://svnbook.red-bean.com/index.zh.html

svn client命令的更多相关文章

  1. SVN基础命令手册

    SVN版本号:1.5 及更新版本号 名词说明: WC:Working Copy 你的工作区 Versioned:受控的:受版本号控制的 SVN是什么? SVN是开源的版本号控制系统. 比CVS很多其它 ...

  2. SVN Client API的.net 接口 SharpSvn介紹 Checkout操作实例

    Subversion是一個文件版本管理工具, 廣泛的被大家採用來作為源代碼版本管理. 已有的工具不管是其自帶的命令行工具還是Windows UI的tortoiseSVN等還是很方便實用的, 但是如果想 ...

  3. svn上想回滚代码怎么办?——svn merge 命令

    小博客断更了很久,最近想接着尝试建立写作的习惯,把自己工作生活遇到的有用知识沉淀下来.尽管微信公共账号比较火,但个人觉得这种不能用搜索引擎检索的东西完全就是历史的倒退,就像 RSS 这种提高信息传播效 ...

  4. SVN标准命令

    SVN标准命令 范例 checkout 检出 svn  co  URL 检出app/search/news/apache/主干上最新版本到本地工作副本,可执行命令: svn co  https://s ...

  5. svn 终端命令

    你可以仅仅删除冲突的文件并且提交,但是svn resolved除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,所以我们推荐你使用这个命令. 恢复本地修改  svn revert [-- ...

  6. unable to load default svn client myeclipse SVN安装,wen7 64位安装SVN

    在安装完后连接svn时出现unable to load default svn client的错误提示,百度知道是版本不对,我安装的是1.8的版本,插件按成1.6的了,只需下载1.8插件安装就行了 安 ...

  7. 【转】SVN linux命令及 windows相关操作(一)

    从以下博客转载和整理: http://www.cnblogs.com/richcem/archive/2011/01/08/1930823.html http://blog.wpjam.com/m/t ...

  8. unable to load default svn client 和 Eclipse SVN 插件与TortoiseSVN对应关系

    (一)unable to load default svn client 在Win7下的Eclipse,安装了subclipse 1.10.x,已经选中了subclipse和subversion Cl ...

  9. SVN的命令行操作

    最近在进行svn二次开发,使用的是svnkit.看了很多svnkit的api,渐渐发现都是和SVN的命令行操作对应的.顺便研究一下svn的命名行操作. 1.将文件checkout到本地目录: 基本命令 ...

随机推荐

  1. ros结合catkin_make和qtcreator

    首先是ros官网关于IDE的教程: http://wiki.ros.org/IDEs#QtCreator 1.qtcreator安装 从官网上下载.run文件, https://info.qt.io/ ...

  2. Ionic Angular自动捕获错误 配置Angular2.x +

    配置app.module.ts import { Pro } from '@ionic/pro'; // These are the imports required for the code bel ...

  3. 洛谷——P1579 哥德巴赫猜想(升级版)

    P1579 哥德巴赫猜想(升级版) 题目背景 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约 ...

  4. 将一个txt里的A和B谈话内容获取出来并分别保存到A和B的txt文件中

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream;import java.io.Fi ...

  5. [LOJ6278]数列分块入门 2

    题目大意: 给你一个长度为$n(n\leq 50000)$的序列$A$,支持进行以下两种操作: 1.将区间$[l,r]$中所有数加上$c$: 2.询问区间$[l,r]$中小于$c^2$的数的个数.思路 ...

  6. Matrix.LookAtLH()和Matrix.LookAtRH()所表达的涵义

    function lookAtLH(eye:Vector3D, at:Vector3D, up:Vector3D) 一个摄像机矩阵可有由三个部分组成:摄像机位置.目标位置以及摄像机上下方.对应的就是上 ...

  7. Runtime对象

    Runtime简单概念: Runtime:每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. * 这也是jvm实现跨平台的一个重要原因. * 可以通过 ge ...

  8. 解魔方的机器人攻略14 – 安装Lejos(下)

    由 动力老男孩 发表于 2009/12/27 17:16:11 第四步:安装Lejos 登陆 Lejos 主页点击 NXT 图片进入 Lejos 下载页面,点击 NXJ 的下载链接: 下载完成后将下载 ...

  9. 【Linux】CentOS7上安装google谷歌浏览器

    1.首先进入根目录,然后进入etc/yum.repos.d目录下,创建google-chrome.repo文件 cd / cd etc/yum.repos.d vim google-chrome.re ...

  10. C#数据之List

    一.C# List根据值找到索引值方法 List<int> test = new List<int>(); int index = test .FindIndex(item=& ...