1. 将文件checkout到本地目录

svn checkout path(path是服务器上的目录)

例如:

cd /home/www  #进入准备获取的项目路径

svn checkout svn://192.168.1.126/project-tbkt  #chechout指定项目,同时会创建project-tbkt文件夹

svn checkout svn://192.168.1.126/project-tbkt new-name #指定文件名

如果出现svn: Error converting entry in directory 'tbkt' to UTF-8错误,是因为指定项目里面存在乱码文件,删除即可。

svn checkout svn://localhost/mycode --username=xw --password=xw123456 /Users/admin/svn/code

2.更新到最新版本

svn update -r m path
   例如:
   svn update #如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
   svn update -r 200 test.html #(将版本库中的文件test.html还原到版本200)
   svn update test.html(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

svn resolved filename  # 解决冲突

svn revert  # 放弃自己的修改

简写:svn up

3.往版本库中添加新的文件
  svn add file
  例如:svn add test.html(添加test.html)
  svn add *.html(添加当前目录下所有的html文件)

4.查看文件状态

svn status path(目录下的文件和子目录的状态,正常状态不显示)

【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】

例如: svn status -q #查看哪些文件有改动

5.svn更换IP地址

进入到工作目录

[root@fileserver ~]# cd /home/www/project-tbkt/

[root@fileserver project-tbkt]# svn info

路径: .

URL: svn://192.168.0.123/project-tbkt

版本库根: svn://192.168.0.123/project-tbkt

版本库 UUID: 3b424fa4-6f94-45d2-ae27-6b31a2683abb

版本: 208

节点种类: 目录

调度: 正常

最后修改的作者: cl

最后修改的版本: 208

最后修改的时间: 2013-08-16 09:25:32 +0800 (五, 2013-08-16)

svn switch --relocate http://oldPath http://newpath

例如:svn switch --relocate svn://192.168.0.123/project-tbkt https://192.168.0.126/project-tbkt

6.提交文件

svn commit -m "LogMessage"  [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)

例如:svn commit -m "add test file for my test"  test.py

svn commit -m "commit"  # 后面不跟路径则提交所有文件,包含新增文件

7. svn 批量添加、删除

vi ~/.bash_profile
添加如下:
svnadd(){
svn status|grep ? |awk '{print $2}'|xargs svn add
}
svndel(){
svn status|grep ! |awk '{print $2}'|xargs svn del
}

8、svn 设置忽略文件

8.1全局忽略

# vi ~/.subversion/config

找到 global-ignores 一行,去掉注释,编辑成:

global-ignores = bin gen .DS_Store *.log .settings *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo .sass-cache node_modules

8.2 局部忽略

# svn propedit svn:ignore .   # 先进入需要设置的仓库目录,注意后面"."不能省略,执行该命令相当于在当前目录创建一个#svn-prop.tmp# 文件,然后输入你要忽略的文件或文件夹以换行分隔。

# svn ci -m '忽略settings.py文件'   # 我们需要提交,然后这个svn:ignore属性才会起作用

例题代码:

# svn propset svn:ignore 'test' .    # 多个文件可以在字符串中换行,注意后面的"."不能扔掉
# svn update
# svn commit -m "add a ignore dir"

代码链接:

http://yansu.org/2013/04/22/add-svn-ignore-file.html

http://www.subversion.org.cn/svnbook/1.4/svn.advanced.props.special.ignore.html

mac下svn 默认编辑器是emacs, 进入emacs编辑器后可使用control+x在control+c,根据提示输入相应命令退出。

修改svn默认编辑器 export SVN_EDITOR=vim,为了方便使用可以加入到.bash_profile里面去。

更多设置请参考:

http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html

http://svndoc.iusesvn.com/svnbook/1.4/

SVN客户端常用命令的更多相关文章

  1. linux svn客户端 常用命令

    查看文件或者目录状态: [root@v01 ~]# svn status online/ #正常情况下没显示 [root@v01 ~]# svn status online/ #如果有变动会有如下显示 ...

  2. CentOS系统下安装SVN及常用命令

    1.SVN的安装: yum install subversion 2.服务端命令 svnserver -- 控制svn系统服务的启动等 svnadmin -- 版本库的创建.导出.导入.删除等 svn ...

  3. SVN使用—常用命令及避免冲突的方法

    一.SVN启动 [root@localhost ~]# mkdir /data/svn [root@localhost ~]# svnadmin create /data/svn/test [root ...

  4. SVN 部分常用命令

    1. svn status 提交前显示出本地文本和版本库文本的区别 [url=] L abc.c # svn已经在.svn目录锁定了abc.c M bar.c # bar.c的内容已经在本地修改过了 ...

  5. svn的常用命令

    svn :看log.版本库.增删.提交 (1)svn up //代码更新到最新版本. (2)svn checkout //将代码checkout出来. (3)svn revert -R ./ //将代 ...

  6. svn版本控制常用命令

    查看未提交的文件(含新增的和修改过得) svn status   检出代码 svn checkout svn://192.168.0.10/v2019.1/spark \ /Users/zhangsa ...

  7. 锐捷linux客户端常用命令(主要用来连接校园网或公司局域网)

     锐捷访问校园网,.sh脚本文件rjsu*.sh-u 用户名-P 密码-S 参数1保存密码参数0不保存密码   其实:  直接使用md5认证方式输入用户名密码并且配置好ip之后,重新打开网卡即可有一定 ...

  8. oozie 客户端常用命令

    1.提交作业,作业进入PREP状态 oozie job -oozie http://localhost:11000/oozie -config job.properties -submit job: ...

  9. SVN常用命令说明

    本文转载至  http://www.blogjava.net/jasmine214--love/archive/2011/01/12/342839.html :1.5 及更新版本 名词说明: WC:W ...

随机推荐

  1. NEXTDAY

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include "com_time ...

  2. Struts2中过滤器和拦截器的区别

    拦截器和过滤器的区别: 1.拦截器是基于java的反射机制的,而过滤器是基于函数回调 2.过滤器依赖与servlet容器,而拦截器不依赖与servlet容器 3.拦截器只能对action请求起作用,而 ...

  3. 提高IO性能

    noatime - 不更新文件系统上 inode 访问记录,可以提升性能 [root@ok etc]# cat /etc/fstab |grep noatime /dev/mapper/vg_ok-l ...

  4. JUC回顾之-AQS同步器的实现原理

    1.什么是AQS? AQS的核心思想是基于volatile int state这样的volatile变量,配合Unsafe工具对其原子性的操作来实现对当前锁状态进行修改.同步器内部依赖一个FIFO的双 ...

  5. Linux防火墙规则的查看、添加、删除和修改

    这里只列出比较常用的参数,详细的请查看man iptables 1.查看 iptables -nvL –line-number -L查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表 ...

  6. Java Hour 49 保存和查询历史的Weather

    吾一直坚信,是需求的不断变化推动了架构的不断演变. 新的需求 能够查看指定日期的Weather,因为客户想要比较昨天和今天的天气情况,所以需要能够查询历史数据的功能. 1 能保存当前的天气到数据库 2 ...

  7. hdu 1556 树状数组+点查询

    树状数组 N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一 ...

  8. Android 命名规范 (提高代码可以读性) 转

    转自:http://blog.csdn.net/vipzjyno1/article/details/23542617 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件 ...

  9. C++的那些事:容器和泛型算法

    一.顺序容器 1,标准库定义了3种类型的顺序容器:vector.list和deque.它们的差别主要在于访问元素的方式,以及添加或删除元素相关操作运算代价.标准库还提供了三种容器适配器:stack.q ...

  10. Android广播机制概述

    1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通 ...