SVN(Subversion)是一个自由、开源的项目源代码版本控制工具。目前,绝大多数开源软件和企业代码管理,都使用SVN作为代码版本管理软件。
Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器。不同的是,它可以记录每一次文件和目录的修改情况,这样就可以在需要的回滚时,将数据恢复到以前的版本,并可以查看数据的更改细节。
SVN安装可以参照上一篇文章《Ubuntu安装svn管理器》
直接上命令:
svn 命令一览表
1. svn checkout path # path 是服务器上的目录
功能:从svn服务器上checkout(检出)代码
简写:svn co path
示例:
svn co svn://localhost/project001 [本地目录全路径] --username 用户名 --password 密码 svn co svn://localhost/project001 [本地目录全路径] --usernmae 用户名 svn co svn://localhost/project001 [本地目录全路径] [--revision] --username 用户名 --password 密码
命令参数:
--username 用户名
--password 密码
--revision 版本 [可选参数]
注:如果不带--password 参数传输密码的话,会提示输入密码,建议不要用明文的--password 选项。
--revision 不带此参数则默认为最新版本
其中 username 与 password前是两个短线,不是一个。
不指定本地目录全路径,则检出到当前目录下。
2. svn status path # path 是文件或目录
功能:查看指定文件或目录的状态
简写:svn st path
一般状态有
' ' 没有修改
'A' 新增
'D' 删除
'M' 修改
'R' 替代
'C' 冲突
'I' 忽略
'?' 未受控
'!' 丢失,一般是将受控文件直接删除导致
访问库:加上--show-updates参数时会
eg:svn status wc
未指定参数时,只显示本地修改的条目(没有网络访问)。
使用 -q 时,只显示本地修改条目的摘要信息。
使用 -u 时,增加工作版本和服务器上版本过期信息。
使用 -v 时,显示每个条目的完整版本信息。
3. svn diff path # path 是需要比对的文件
功能:比对指定的文件
简写:svn di path
扩展:svn diff -r m:n path # path 文件在版本m和版本n之间进行比较
4. svn add path # path 是要添加的目录或文件
功能:添加指定的目录或文件
5. svn commit -m "message” # message 是提交的信息
功能:将当前目录下的所有已修改文件进行提交
简写:svn ci
扩展:svn ci path # path 是要提交的文件或目录
6. svn update
功能:更新svn库到最新版本 简写:svn up
扩展:svn update path # path 是要更新的目录或文件
扩展:svn update -r m path # path 要更新的目录或文件;
# m 是目标版本号