svn 基本操作指令以及与 git 的对比
本来在 windows 下操作 svn,是不需要指令的,直接通过文件系统右键菜单里的快捷键就可以轻松搞定 svn 的一些基本操作。
后面部署到 Linux 服务器,没有安装什么 GUI 之类的图形化用户界面,所以需要单独熟悉一下 svn 的一些基本终端指令。
1.svn help
直接查看所有的 svn 指令
2.svn checkout
从 svn 库检出项目代码。
示例: svn checkout svn://192.168.1.1/myproject/doc /home/test/ --username myname --password password
3.svn add | svn commit
添加到版本库和提交到版本库。
操作基本与 git 一致。svn add .
将当前目录下的所有修改或者新增的文件都添加到此次提交svn commit -m ""
将此次所有修改提交到版本库svn commit -m "update file aa.txt" aa.txt
特别地,将修改直接提交(单个文件或者符合某种正则的所有文件)
4.svn update
更新当前目录下的文件svn update abc
更新 abc 目录下的文件svn update -r 版本号 abc
将 abc 目录文件更新恢复到某个版本
5.svn delete filename
删除文件
6.svn status
查看当前目录所有文件状态
查看文件进行过的修改,第一列显示当前版本,第二列显示修改时的版本,第三列显示修改人,第四列显示修改文件svn status -v abc
7.svn log
查看提交的日志
svn log -l4
查看最近 4 条日志
svn log aa.txt
查看 aa.txt 文件的记录
8.svn info
查看项目信息
9.svn list
查看目录下的文件列表
svn list svn://192.168.1.1/doc
10.svn export
只拿出项目,不和 svn 版本库关联svn export svn://192.168.1.1/doc /home/mytest
拿出最新的代码svn export -r 需要的版本号 svn://192.168.1.1/doc /home/mytest
拿出指定版本的代码
11.svn revert
撤销修改,文件回退到之前的版本svn revert ab.txt
撤销对ab.txt 文件的修改svn revert --recursive .
撤销当前目录下的所有修改
12.svn diff
文件比对svn diff ab.txt
查看本地与版本库里的文件的差异svn diff -r 12:14 ab.txt
查看 12 和 14 版本里文件的差异
与 git 的对比
和 git 类似, svn 具有相同的代码版本管理功能。svn 优点是部署简单,详见Linux 下安装、启动和关闭 svn 服务端。客户端直接下一个 tortoiseSVN 软件,服务器端直接用 yum 就可以安装,配置的项目、成员授权规则简单,很容易上手。而缺点也是显而易见的,没有代码 review,不能在线查看代码版本库及文件内容,对于复杂一点的项目,分配权限和管理都比较麻烦。