一、基本操作

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. Leetcode867.Transpose Matrix转置矩阵

    给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引. 示例 1: 输入:[[1,2,3],[4,5,6],[7,8,9]] 输出:[[1,4,7] ...

  2. golang之数据结构

    4种:bool/int/uint/uintptr(其中bool类型的零值为false,其余类型的零值为0) 4种:float32/float64/complex64/complex126 (零值为0) ...

  3. Liferay 7 OSGi第三方jar包依赖问题

    发现遇到这个问题的人挺多的,现在跟新一下好好写. 在开发Liferay的时候,我们常常会遇到Unresolved requirement: Import-Package: {package name} ...

  4. PHP学习(数据类型)

    PHP中,支持8种原始类型,其中包括四种标量类型.两种复合类型和两种特殊类型.PHP是一门松散类型的语言,不必向PHP声明变量的数据类型,PHP会自动把变量转换为自动的数据类型,一定程度降低了学习PH ...

  5. CSS user-select文本是否可复制

    1. 概述 1.1 说明 在项目过程中,有时候需要网页中内容信息不可被复制进行保护数据信息,故可使用css属性user-select进行控制用户能否选中文本. 1.2 语法 user-select : ...

  6. iOS开发 底层抛析运行循环—— RunLoop

    http://blog.csdn.net/zc639143029/article/details/50012527 一.RunLoop基本概念 概念:程序的运行循环,通俗的来说就是跑圈. 1. 基本作 ...

  7. python 字符串匹配的应用

  8. VIM中空格和TAB的替换

    在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:set ts=4  (注:ts是tabstop的缩写,设TAB宽4个空格)set expandtab 对于已保存的文件,可以使用 ...

  9. Python学习之路13☞常用模块

    一 time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(t ...

  10. maven 标签: 项目管理软件 2016-09-11 22:29 323人阅读 评论(24) 收藏

    开始接触itoo的java项目之后,也就开始接触maven,搭建环境中有一个步骤是配置maven和jboss,当时知道jboss是用来部署我们的项目的,但是maven就只知道一个更新maven,那么, ...