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/