注意自己使用的是客户端那还是服务端: svn 服务端 [root@milab /]# svnadmin create svnroot/test [root@milab conf]# svnserve -d -r /svnroot/test/ svn 客户端: 检出版本库:svn checkout svn://192.168.10.14 或者 co 导出 export(并没有.svn 脱离版本控制系统,并非工作副本) svn checkout -r 2 // -r 指定版本号,默认检出最新版本 svn add 添加到版本控制 svn commit 提交 svn update 更新 svn delete 从版本库删除文件或目录 增加 svn add index.html index.html就在版本控制系统之下 svn add 文件夹(默认递归) svn add 文件夹 --non-recursive(只加文件夹) svn add * (所有文件和目录增加版本控制)如果一个目录已经在版本控制下,不扫目录下 svn add * --force 强制增加 提交 svn commit -m “备注信息” index.html 或缩写ci -m 参数必须要加 svn commit -m “备注信息” 目录 svn commit -m “备注信息” * 所有的改动都提交 更新 svn update 缩写up svn up -r 1 index.html 更新为版本1的index.html svn up -r 2 index.html 可以 svn up 再回去是不行,每个文件只会从服务端更新一次更新版本 svn up * 所以文件再次更新到最新版本 svn up 当文件缺失时,是可以更新到最新版本 删除 svn delete 文件名 -m “备注信息” del 这个备注可不写 svn remove rm diff 版本差异比较 svn diff 文件名 - 是修改之前(删除) +是修改之后(添加) svn diff -r 2 文件名 与2比较 svn diff -r 1:3 文件名 1和3比较 mkdir 创建目录并增加到版本控制 svn mkdir 文件夹 cat 不检出工作副本直接查看文件 svn cat svn://192.168.10.14/index.html 工作副本还原 svn revert 文件名 svn revert * (非递归) svn revert --recursive * (递归扫描所有目录) 二进制冲突与树冲突 冲突:更新到的数据与工作副本的修改正好在一个地方,精确到行。 树冲突:非二进制文件,无法精确到行, 冲突的处理 <<<<<<<<<<<<< 自己的mc ============== 别人的tc >>>>>>>>>>>>>> p推迟处理 svn resolve index.html svn resolved index.html 已处理(编辑处理冲突这步必须执行) 锁定与解锁 svn lock 锁定文件,防止其他人员对文件进行提交 svn unlock 文件 如果提交操作,文件自动解锁 svn ci -m "" --no-unlock index.html ,提交不自动解锁