SVN客户端常用命令

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/ 

原文地址:https://www.cnblogs.com/weiok/p/4757469.html