四、SVN 常用命令一览表
命令
功能
使用格式
checkout
检出
svn co URL
up
更新到当前URL的末端
svn up
switch
更新到某一tag/branch
svn switch (tag/分支)URL
add
增加
svn add 文件名
rm
删除文件
svn rm 文件名
删除目录
svn rm 目录名
diff
与base版本(最后检出或者更新到的版本)对比
svn diff
与版本库中最新版本对比
svn diff -r head
当前工作副本,两个版本之间对比
svn diff -r reversion1:reversion2
版本库中任意两个tag做对比
svn diff (tag1)URL (tag2)URL
ci
提交
svn ci -m "commit log"
log
查看当前工作副本log
svn log
只查看指定版本的log
svn log -r
打印log所有附加信息
svn log -v
查看当前tag/branch版本详情
svn log --stop-on-copy -v
info
查看当前工作副本所在URL
svn info
status
查看工作副本的状态
svn st
查看文件的taglist
svn命令不支持,可执行cs taglist
tag
新增tag
svn cp . (tag)URL
删除tag
svn rm (tag)URL -m "commit log"
覆盖已经存在的tag
不支持
分支开发
创建branch
svn cp (基线版本)URL (分支)URL -m "commit log"
删除branch
svn rm (分支)URL -m "commit log"
同步
svn co (主干)URL
cd ~/wc
svn merge (主干)URL (待同步tag)URL
svn ci -m "commit log"
svn cp (主干)URL (以_PD_BL_MAIN结尾的tag)URL -m"commit log"
合并
svn co (合并目标)URL
cd ~/wc
svn merge (基线版本tag)URL (上线tag)URL
svn ci -m "commit log"
svn cp (合并目标)URL (上线tag_MERGE_的tag对应)URL -m"commit log"
SVN实例
删除目录下所有的 .svn 隐藏子目录
find . -name ".svn" -print0 |xargs -0rm -rf
tags打分支
svn cp trunk/ tags/platform_2011.11.11 (或 svn cp http://192.168.1.100/platform/trunk/ http://192.168.1.100/platform/tags/platform_2011.11.11)
svn ci -m "svn cp trunk/ tags/platform_2011.11.11" // 提交,并给出提交记录(-m "svn cp trunk/ tags/platform_2011.11.11")
svn 改名
svn mv platform_2011.11.11 platform_20111111
svn ci -m "svn mv platform_2011.11.11 platform_20111111" // 提交
svn directory is missing
1) svn up missingDirName
2) svn del missingDirName
3) svn ci
svn chech version
svn co http://192.168.1.100/platform/branch -r 12 platform_branch_v12
svn log
svn log http://192.168.1.100/platform/branch -l10 // svn 文字注释log
svn log http://192.168.1.100/platform/branch -l10 -v // svn 文字注释log + 文件更新log(增,删,改)
svn diff -r v_1 : v_2 svn_path
svn diff -r 200:201 test.php
查看svn版本
svnserve --version
Ubuntu 安装svn 1.7、1.8
当前 ubuntu 12.04 中的 svn 版本为 1.6,这个版本会在每个子目录新建一个.svn 的目录保存版本文件,很不爽。找到一个第三方编译的 ubuntu 源:
1) 打开source.list源:
sudo vi /etc/apt/sources.list
2) 添加源
deb http://ppa.launchpad.net/dominik-stadler/subversion-1.7/ubuntu precise main
deb-src http://ppa.launchpad.net/dominik-stadler/subversion-1.7/ubuntu precise main
3) 执行安装命令
sudo apt-get install subversion