一、基本操作

1  从服务器上下载代码

svn checkout http://xxx.xxx.xxx/xxx

2  获取最新的代码

svn update

3  提交代码

svn commit -m 'comment'

4  撤销本地未提交的所有操作

svn revert --recursive .

5  建立远程分支

svn copy http://.../sdk/trunk http://.../sdk/branches/branch1 -m 'create branch1'

6  添加目录并提交

1)在本地建立test文件夹

2)svn add test

3)svn commit -m 'comment'

7 删除文件和文件夹,比如一个名为test的文件夹,内含一个名为abc的文件

在本地进入到该test文件夹所在的上级目录

输入命令svn rm test

看到如下的显示

D         test/abc
D         test

再提交一下:svn commit -m 'delete test folder'

(注意,提交之前要先到根目录下执行svn update,否则可能会报out of date的错误,意思是说服务器上的代码比本地的代码新)

看到如下的显示
Deleting       branches/test

至此,删除成功。本地和远程都不再有test目录

8  远程主干合并到本地分支

1)svn commit -m 'some comment'(提交本地主干里的变化)

2)  svn update(更新一下,否则会报错)

3)  svn merge -r 版本号一:版本号二 主干svn地址  本地分支路径 (远程主干中版本号一和版本号二之间的变化合并到本地分支)

这里版本号一不算在内,而版本号二算在内。比如1110:1113,则合并的版本号为1111,1112,1113

如果当前路径恰巧就是本地分支路径,则本地分支路径可以不写

例子:svn merge -r 1110:1113 http://.../sdk/trunk/

若版本号二写成head或HEAD,则表示更新到最新的版本。如svn merge -r 1110:head http://.../sdk/trunk

4)svn commit -m 'some comment' (本地分支中获得的更新提交到远程分支)

注意:远程分支合并到本地主干、本地主干合并到本地分支、本地分支合并到本地主干也是上述步骤。

SVN合并只能在远程和本地、本地和本地之间进行,不能在本地和远程、远程和远程之间进行。

9 解决冲突

若有冲突,解决完冲突后,要用命令svn resolved 路径

例子:svn resolved dir1/dir2/file.m

10 帮助命令

svn help resolved

此命令可以查看resolved相关的参数和功能

11 查看版本提交日志

svn log

svn log -l15(查看最近15次的改动信息)

12 删除分支

svn rm http://.../branches/log_branch -m 'delete comment'

svn remove http://.../branches/log_branch -m 'delete comment'

svn delete http://.../branches/log_branch -m 'delete comment'

13 创建远程目录

svn mkdir http://.../branches/my_branch -m 'create my branch directory'

14 svn模拟合并,可以看到操作后的结果但不会真正操作

svn merge --dry-run

15 回滚

假如提交的版本2409,提交之后就是2410。这时发现提交的代码有问题,想回滚到2409,可以用如下命令:

svn up -r 2409

二、常见错误

1  操作:

svn commit -m 'delete svntest'

Deleting       svntest

svn: E155011: Commit failed (details follow):

svn: E155011: Directory '/XXX/svntest' is out of date

svn: E170004: Item '/XX/svntest' is out of date

解决:

先在根目录执行svn update,然后再执行svn commit -m 'delete svntest'

Mac下SVN基本操作和常见错误的更多相关文章

  1. mac下svn问题——“.a”(静态库)文件无法上传解决

    mac下svn问题——“.a”(静态库)文件无法上传解决    “.a”(静态库)文件无法上传(svn工具:Versions)          网上查询了一下,说是Xcode自带的svn和Versi ...

  2. 【iOS】Mac下SVN的服务器搭建

    在协同开发中,版本控制是必备的.完全不敢想象团队都在用U盘.QQ管理代码的景象.但是svn不像git,拥有众多免费的代码库,如果在同 一局域网下,搭建svn服务端来同步代码是很有必要的.本文将详细讲解 ...

  3. Mac下SVN服务器环境的搭建和配置(除展示图片外,所有命令在Linux/Unix下适用)

    这几天领导没有安排工作,闲着没事就想把自己这两年做iOS开发时感觉知识有欠缺的地方想好好深入地补习一下,昨天和今天就计划好好学习下SVN和git的从创建和到原理,到命令,到界面的使用.一不小心被另一领 ...

  4. SVN中的常见错误(长期更新)

    一 svn中的简写含义. A:add,新增 C:conflict,冲突 D:delete,删除 M:modify,本地已经修改 G:modify and merGed,本地文件修改并且和服务器的进行合 ...

  5. mac下SVN上传.a静态库文件

    在mac下很多svn管理工具默认都不能上传.a文件,但是用命令行可以解决此问题. 打开终端,cd 进入到需要上传的.a文件所在的文件夹. 确保 ls能看到.a文件 然后使用命令,如:svn add l ...

  6. Sublime Text 2下搭建Python环境常见错误

    Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应. 关于Python编程环境的配置,网上很容易搜索到.先默 ...

  7. svn状态与常见错误

    TortoiseSVN 1.6.16是最后一个目录独立管理自身cache的svn版本(每个目录下都有一个隐藏的.svn文件夹) 之后的版本会则会根目录上统一进行管理(只有根目录下有一个隐藏的.svn文 ...

  8. Mac 下 SVN 的使用

    在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还 ...

  9. 【Tech】mac下svn和scp使用笔记

    1.命令行从svn下载代码 mac本身自带svn,所以使用非常简单,在本地创建代码存放的文件夹,然后cd到该文件夹下,运行: svn checkout svn://ip地址/文件路径 . 然后出现要求 ...

随机推荐

  1. jQuery中的工具和插件

    jQuery的工具属性 jQuery类数组操作 length属性 表示获取类数组中元素的个数 get()方法 表示获取类数组中单个元素"括号中填写该元素的索引值" index()方 ...

  2. 【水滴石穿】rn_statusbar

    先放项目地址https://github.com/hezhii/rn_statusbar 来看一下效果 咩有感觉很怎么样,看代码 根入口文件 //index.js //看代码我们知道入口是app.js ...

  3. vue页面跳转传参

    跳转页 this.$router.push({name:'路由命名',params:{参数名:参数值,参数名:参数值}}) 接收页 this.$route.params.参数名

  4. php表单传值--GET和POST

    一.       传值 1.    传值/接收方法: 1)        GET(5种方式!) a)       表单Form: method = ‘get’   GET接收数据方式: b)      ...

  5. 如何实现已发布app的自动更新

    要实现app的自动更新,做两件事情就可以搞定 1.获取当前手机中的app版本号 我们可以通过查询mainbundle中的获取CFBundleVersion NSDictionary *infoDict ...

  6. Polyfill简介

    1.什么是Polyfill? Polyfill是一个js库,主要抚平不同浏览器之间对js实现的差异.比如,html5的storage(session,local), 不同浏览器,不同版本,有些支持,有 ...

  7. linux服务器配置防火墙使用端口

    重启后生效方法: 1.开启: chkconfig iptables on 2.关闭: chkconfig iptables off  即时生效,重启后失效 : 1.开启: service iptabl ...

  8. iOS 微信支付如果遇到跳转只有一个确定请看这里

    http://www.cocoachina.com/bbs/read.php?tid-321546.html 今天在联调微信支付,不得不说,和它比起来,阿里的支付sdk真的是太好用了.果然和后端同学在 ...

  9. More Effective C++: 05技术(25-28)

    25:将constructor 和 non-member functions 虚化 所谓 virtual constructor是某种函数,视其输入可产生不同类型的对象.比如下面的代码: class ...

  10. Python学习之路2☞数据类型与变量

    变量 变量作用:保存状态:说白了,程序运行的状态就是状态的变化,变量是用来保存状态的,变量值的不断变化就产生了运行程序的最终输出结果 一:声明变量 #!/usr/bin/env python # -* ...