本篇文章记录一下在linux下SVN客户端相关命令的使用,关于Linux上SVN客户端的安装,可以参考本站文章:
1.检出(check out)
功能:从SVN服务器库中取出已有的文件。
命令行操作:
在本地创建工作空间,创建一个空的文件夹
$>mkdir filename
在新建文件夹下执行命令:svn checkout path(path是svn库地址) (简写命令svn co),例如:
svn checkout http://11.12.102.103:18080/svn/gman/
2.提交(commit)
功能:将工作复本中修改的文件或新添加的文件提交到服务器中,使修改正式生效;提交后其他人更新后即可获取你所做的修改。
命令行操作:
对于已在版本控制列表中文件的修改后提交
命令:svn commit –m “日志信息”要提交的文件(简写命令svn ci)
$>svn commit –m “日志信息” file
往svn库中添加新的文件
先将文件加到版本控制列表中,命令:svn add file
$>svn add file
然后执行 “svn commit” 动作
3.删除文件(svn delete)
功能:删除误提交或不需要的文件。
命令行操作:
命令:svn delete path -m “删除理由“,例如:
$>svn delete /home/www/gman/index.php -m “文件有问题,故删除”
然后在本地svn update,本地对应的文件将会删除。
4.更新(update)
功能:获取其他用户对文件进行的修改,与自己的文件的修改进行合并,保证本地的文件总是最新的。
命令行操作:
默认更新到最新版本
命令:svn update file(简写命令svn up)
$>svn update file
更新到指定版本
$>svn update –r m file
5.查看日志(svn log)
功能:查看某一目录或某一文件的历史记录。
命令行操作:
命令:svn log file
$>svn log file
6.比较文件( svn diff )
功能:比较svn库中某一文件在不同版本中的修改情况。
命令行操作:
命令:svn diff file
$>svn diff –r m:n file.c (m、n为相比较的版本号)
7.Svn还原和回退(svn revert/svn merge)
功能:svn还原(svn revert)还原在工作副本中已添加或已修改还未提交的文件;回退(svn merge)将以提交svn库中的版本恢复到指定版本。
命令行操作:
svn还原:
命令:svn revert file
$>svn revert file(要恢复修改的目录或文件)
回退,需要通过合并的方法回退
命令:svn merge –r m:n path
$>svn merge –r m:n path(要回退的目录或文件)(从m版本回退到n版本)
然后提交(svn commit)
8.重新定位(Relocate)
功能:用于svn服务器更换地址后,指向新的SVN URL。
命令行操作:
命令:svn switch --relocate 原svn库地址 新svn库地址
$>svn switch --relocate 原svn库地址 新svn库地址
9.其他技巧
1. 导出(export):使用此功能获取一个没有SVN控制信息的工作复本,导出的文件没有.svn文件,不可直接执行提交
2. 导入(import):将本地文件导入到服务器中,一般用于初始svn库目录时
3. 清理(svn cleanup):当Subversion操作中断时,会有一些残留的操作信息保留在工作复本中,这时需要进行清理才能够重新进行工作;
4. 查看文件或目录状态(svn status):查看工作副本中某一目录下文件和子目录的状态,【正常状态不显示;?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
三、svn使用规范
1. 日志书写规范
日志内容长度要求10个字符以上,即5个汉字以上;
日志内容要求体现操作内容,如:增加***功能/ 修复***问题/ 删除***功能
提交频率
要求编译通过后提交一次