经常使用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. Selenium2+python自动化6-八种元素元素定位(Firebug和firepath)【转载】

    前言 自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇主要讲如何用firefox辅助工具进行元素定位.元素定位在这四个环节中是至关 ...

  2. Visual Studio跨平台开发(2):Xamarin.iOS基本控制项介绍

    前言 在上一篇文章中, 我们介绍了Xamarin 以及简单的HelloWorld范例, 这次我们针对iOS的专案目录架构以及基本控制项进行说明. 包含UIButton,UISlider,UISwitc ...

  3. 山东多校联合模拟赛 Day1

    矩形计数(rect) Description 给出圆周上的 \(N\) 个点,请你计算出以这些点中的任意四个为四个角,能构成多少个矩 形. 点的坐标是这样描述的,给定一个数组 \(v[1..N]\), ...

  4. 【高精度】高精度数除以低精度数I

    问题 G: [高精度]高精度数除以低精度数I 时间限制: 1 Sec  内存限制: 512 MB提交: 173  解决: 71[提交] [状态] [讨论版] [命题人:] 题目描述 修罗王聚集了庞大的 ...

  5. vue.js 微信浏览器不支持lambda表达式

    最近尝试在用vue重构一个微信网页,然后发现在本地测试是可以的,在微信测试工具里也是正常的,然后在手机里有人正常有人不正常,后来发现规律,微信比较新的是不支持的,微信比较旧的是不支持的.然后网上谷歌了 ...

  6. 把我的漫画浏览器后台程序迁移到GAE上了

    这两天看了一下Python和GAE相关资料,作为练手,把我以前写的Windows 8下看漫画的程序的后台解析算法迁移到了GAE上了. 之前由于没有后台服务器,很多东西在本地实现起来不是很方便,现在拿G ...

  7. XCTest(一)

    target:  + 来添加target,可以选择工程中不同的target目标来添加 class: +来添加class, 可以按照不同的测试功能来分类,比如NormalFunctionTest, UI ...

  8. ylbtech-KeFuYunWei(服务运维考核系统)-数据库设计

    ylbtech-DatabaseDesgin:ylbtech-KeFuYunWei(服务运维考核系统)-数据库设计 DatabaseName:KEFUYUNWEI Model:Admin 用户后台管理 ...

  9. JAVA之HashMap集合

    /** * HashMap集合讲解 * HashMap集合不允许集合元素的Key重复 */package com.test; import java.util.*; public class test ...

  10. 在pos:a元素不设定宽度的情况下,他的最大宽度是受父元素的宽度所限制的。

    <div style="width:80px;height:50px;position:relative;left:50px;"> <ul style=" ...