经常使用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. js比对一维数组全等的算法

    //辅助方法1,返回某个值在数组中的位置 Array.prototype.indexOf = function (e) { for (var i = 0, l = this.length; i < ...

  2. linux题目整理(二)

    1.如何过滤出已知当前目录下oldboy中的所有一级目录(不包含子目录,即只能是一级目录) 方法1:find ./ -type d -maxdepth 1方法2:ls -F方法3:ls -l  | g ...

  3. 针对各地项目icomet停止服务的临时处理办法

    1.编辑一个脚本 vi /usr/local/watchicomet.sh #!/bin/bash sn=`ps -ef | grep ./icomet-server | grep -v grep | ...

  4. ORA-01157:无法标识/锁定数据文件,ORA-01110:表空间丢失错误

    https://blog.csdn.net/u014432433/article/details/51051854

  5. Function——记忆化搜索

    题目描述 对于一个递归函数w(a,b,c) 如果a<=0 or b<=0 or c<=0就返回值1. 如果a>20 or b>20 or c>20就返回w(20,2 ...

  6. BZOJ 1036 [ZJOI2008]树的统计Count (树链剖分)(线段树单点修改)

    [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 14968  Solved: 6079[Submit][Stat ...

  7. JAVA基础加强(张孝祥)_类加载器、分析代理类的作用与原理及AOP概念、分析JVM动态生成的类、实现类似Spring的可配置的AOP框架

    1.类加载器 ·简要介绍什么是类加载器,和类加载器的作用 ·Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader ...

  8. [POI2014]Tourism

    题目大意: 给定一个$n(n\le20000)$条个点,$m(m\le25000)$条边的无向图,保证图中最长路径上的点数不超过$10$.对一个点染色的代价是$w_i$.求使得每个结点都被染色或至少有 ...

  9. exports 与 module.exports 的区别

    exports与module.exports的作用就是将方法或者是变量暴露出去,以便给其他模块调用,再直接点,就是给其他模块通过require()的方式引用. 那么require()一个模块时,到底做 ...

  10. django10 使用自定义标签配置说明

    1).在app目录下建目录templatetags[不可改名]目录,然后在该目录下建一个空的__init__.py 2).mytags.py 在templatetags下建一个mytags.py,添加 ...