经常使用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. ZOJ3874 Permutation Graph(NTT&&cdq分治)

    最近在看几道整体二分还有cdq分治的东西,突然间想起前几个礼拜的ZOJ题,然后看了一下代码,经过了一些深思熟虑之后,发现自己终于看懂了,下面就用别人的代码来剖析一下整个解题的思路吧,具体的内容我再看看 ...

  2. hdu 3047(扩展并查集)

    Zjnu Stadium Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  3. C# 代码注释生成代码提示和帮助文档

    C#文档注释格式: /// <summary> /// function description /// </summary> /// <param name=" ...

  4. AC日记——Array Queries codeforces 797e

    797E - Array Queries 思路: 分段处理: 当k小于根号n时记忆化搜索: 否则暴力: 来,上代码: #include <cmath> #include <cstdi ...

  5. Codeforces Round #446 (Div. 2) A. Greed【模拟】

    A. Greed time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  6. nodejs微服务

    近来公司增加了nodejs微服务 它的主要任务是接收来自于现场的采集数据:作业记录和流转记录,动态构建一个基地的全景实时数据        暂时不涉及数据库. 如果要进行数据库操作,不建议使用本模块, ...

  7. Fiddler在fiddler option设置还是抓不了HTTPS包解决办法

    1:请在“运行”,即下面这个地方输入certmgr.msc并回车,打开证书管理. 打开后,请点击操作--查找证书,如下所示: 然后输入“fiddler”查找所有相关证书,如下所示: 可以看到,我们找到 ...

  8. Tarjan缩点+LCA【p2783】有机化学之神偶尔会做作弊

    Description 你翻到那一题:给定一个烃,只含有单键(给初中生的一个理解性解释:就是一堆碳用横线连起来,横线都是单条的). 然后炎魔之王拉格纳罗斯用他的火焰净化了一切环(???).所有的环状碳 ...

  9. 数学【P2524】 Uim的情人节礼物·其之弐 (康托展开)

    因为某人@ZAGER挖坑让我讲一下康托展开,所以发现了这个题,顺便说一下康托展开是个什么东西 题目概括 给定n与一个数列,要求求出给定数列在n的全排列中的排名(按照字典序从小到大排列) 康托展开 先放 ...

  10. android利用adb修改手机的分辨率和dpi

    在android开发过程中,适配更多的适配是必不可少的一步,而每次测试适配时,要么购买设配,要么模拟器,买设配太花钱,模拟器太占内存,不过幸好还可以通过修改手机的size(分辨率)和density来进 ...