经常使用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. rgmanager 介绍

    版本: rgmanager-2.0.52-14.el6.x86_64 服务: /etc/init.d/rgmanager 配置文件: /etc/cluster/cluster.conf 日志文件: 相 ...

  2. Lightoj 1348 Aladdin and the Return Journey (树链剖分)(线段树单点修改区间求和)

    Finally the Great Magical Lamp was in Aladdin's hand. Now he wanted to return home. But he didn't wa ...

  3. bmi健康指数

    #!/usr/bin/python # -*- coding: utf-8 -*- #小明身高1.75,体重80.5kg.请根据BMI公式(体重除以身高的平方) #帮小明计算他的BMI指数,并根据BM ...

  4. xcode里面使用Memory Leaks和Instruments检测内存泄漏

    教程截图: 作为一名无证程序员,无论你多么精通Objective-C的内存管理,随着时间的推移,你也不可避免的犯内存相关的错误.但通常因为代码量太大,以至于你不可能一行一行的去排除(等你解决完,你设计 ...

  5. @selector和SEL

    遇到selector发现不是很明白,网上搜到的零零星星的介绍也不成体系,索性自己翻译一下,加深一下印象.原文来自官方API文档下的Selectors. Selectors 在OC中,selector有 ...

  6. 使用Chrome DevTools直接调试Node.js与JavaScript(并行)

    Good News: 现在我们可以用浏览器调试node.js了!!! 前提 Node.js 6.3+, 这个可上Node.js官网自行下载: Chrome 55+. 如果您本地的chrome升级到最新 ...

  7. md5是哈希算法的改进加强,因为不同原始值可能hash结果一样,但md5则改善了用于验证消息完整性,不同md5值原始值也必将不一样

    md5是哈希算法的改进加强,因为不同原始值可能hash结果一样,但md5则改善了用于验证消息完整性,不同md5值原始值也必将不一样

  8. ASIHTTPRequest学习(三)

    刚刚开始学习ASIHttpRequest,今天通过自己写的一个小demo分享一下学习心得. 首先,要想在ios项目中使用ASIHttpRequest,必须添加下列框架和类库: ASIHttpReque ...

  9. sqlserver中常用的四个选项(NOCOUNT/ANSI_NULLS/QUOTED_IDENTIFIER/ XACT_ABORT)

    1 NOCOUNT选项 当 SET NOCOUNT 为 ON 时,不返回计数.当 SET NOCOUNT 为 OFF 时,返回计数. eg: if object_id(N'table_test',N' ...

  10. haproxy + rabbitmq + keepalived的高可用环境搭建

    一.rabbitmq的搭建:参考rabbimq的安装及集群设置 二.安装和配置haproxy 1.安装haproxyyum install haproxy 2.安装rsysloga. 检查rsyslo ...