在Linux下咱们可使用RapidSVN。RapidSVN是一款轻量级的免费、开源 SVN 客户端,相比tortoise svn它更加小巧并且占系统资源少运行速度快。php
一:安装RapidSVN版本控制器linux
第一种方法:api
打开终端输入命令便可,以下:服务器
sudo apt-get install rapidsvn
第二种方法:网络
在Ubuntu software(软件中心)搜索svn,便可看到RapidSVN软件,点击下载便可,以下图:dom
二:配置diff,editor,merge和exploer工具svn
辅助工具:
nautilus:standard explorer
scite :standard editer
kdiff3 :diff tool / merge tool,此工具两者合一。
sudo apt-get install 安装以后,在rapidsvn 的查看view -->首选项-->程序栏下在 Browse 处分别填入以上所安装程序的名称。
保存便可。
RapidSVN 默认配置下并无配置 diff,editor,merge和exploer工具
打开RapidSVN-->查看-->首选项-->程序,能够看到以下图所示四项未配置
配置方法(红色单词分别填入未配置位置):
Standard Editor : gedit(Ubuntu自带的编译器)
Standard Explorer : nautilus(Ubuntu文件)
其中最后两个配置Diff Tool和Merge Too是文件的比较差别与合并工具,须要安装Meld
安装方法:
sudo apt-get install meld工具
安装完成后在搜索处输入meld便可以看到安装好的meld,以下图url
接下来如上面所相似配置便可spa
Diff Tool : meld
Merge Tool : meld
SVN在Ubuntu下使用方法:
一、首先须要安装SVN。Ubuntu下的SVN安装十分简单,sudo apt-get install subversion,而后根据提示一步一步,就完成了SVN的安装;
二、检出文件(checkout)。
使用命令:svn co http://{svn repository url} /destination
也可使用: svn co svn://xxx.xxx.xxx/xx,这样会在主文件夹下生成xx文件夹,把svn上的内容都下载到xx文件夹里面。
而后系统会用当前的用户名登陆,提示输入密码,若是第一次密码输入错误,会提示你输入用户名;
输入正确后,就能够检出文件了。
三、提交修 改的 文件(commit)。
进入须要更新的目录,输入命令:
svn commit -m path-to-commit,其中path-to-commit能够为空,成功后会提示更新后的版本号。
四、更新文件(update)。
svn update,在要更新的目录运行这个命令就能够了。
五、查看日志(log)。
svn log path
三.svn经常使用用法
一、 将文件checkout到本地目录
svn checkout path(path 是服务器上的目录)
例如:svn checkout svn: // 192.168 . 1.1 / pro / domain
简写:svn co
二、 往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add * .php(添加当前目录下全部的php文件)
三、 将改动的文件提交到版本库
svn commit -m “ LogMessage “ [ -N ] [ --no-unlock ] PATH (若是选择了保持锁,就使用–no- unlock开关)
例如:svn commit -m “ add test file for my test “ test.php
简写:svn ci
四、 加锁/解锁
svn lock -m “ LockMessage “ [ --force ] PATH
例如:svn lock -m “ lock test file “ test.php
svn unlock PATH
五、 更新到某个版本
svn update -r m path
例如:
svn update若是后面没有目录,默认将当前目录以及子目录下的全部文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。若是在提交的时候提示过时的话,是由于冲突,须要先update,修改文 件 ,而后清除svn resolved ,最后再提交commit)
简写:svn up
六、 查看文件或者目录状态
1 )svn status path (目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预约加入到版本库;K:被锁定】
2 )svn status -v path (显示 文件和子目录状态)
第一列保持相同,第二列显示工做版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的状况下也能够执行的,缘由是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st
七、 删除文件
svn delete path -m “ delete test fle “
例如:svn delete svn:// 192.168.1.1 /pro/domain/test.php -m “ delete test file ”
或者直接svn delete test.php 而后再svn ci -m ‘delete test file‘,推荐使用这种
简写:svn (del, remove, rm)
八、 查看日志
svn log path
例如:svn log test.php 显示这个文件的全部修改记录,及其版本号的变化
九、 查看文件详细信息
svn info path
例如:svn info test.php
十、 比较差别
svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差别)
例如:svn diff -r 200:201 test.php
简写:svn di
十一、 将两个版本之间的差别合并到当前文件
svn merge -r m:n path
例如:svn merge -r 200 : 205 test.php(将版本200与205之间的差别合并到当前文件,可是通常都会产生冲突,须要处理一下)
十二、 SVN 帮助
svn help
svn help ci
——————————————————————————
以上是经常使用命令,下面写几个不常常用的
——————————————————————————
1三、 版本库下的文件和目录列表
svn list path
显示path目录下的全部属于版本库的文件和目录
简写:svn ls
1四、 建立归入版本控制下的新目录
svn mkdir : 建立归入版本控制下的新目录。
用法: 一、mkdir PATH…
二、mkdir URL…
建立版本控制的目录。
一、每个以工做副本 PATH 指定的目录,都会建立在本地端,而且加入新增
调度,以待下一次的提交。
二、每一个以URL指定的目录,都会透过当即提交于仓库中建立。
在这两个状况下,全部的中间目录都必须事先存在。
1五、 恢复本地修改
svn revert : 恢复原始未改变的工做副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不会存取网络,而且会解除冲突的情况。可是它不会恢复
被删除的目录
1六、 代码库URL变动
svn switch (sw): 更新工做副本至不一样的URL。
用法: 一、switch URL [PATH]
二、switch –relocate FROM TO [PATH...]
一、更新你的工做副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工做副本对应到同一仓库中某个分支或者标记的
方法。
二、改写工做副本的URL元数据,以反映单纯的 URL上的改变。当仓库的根URL变更
(好比方案名或是主机名称变更),可是工做副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工做副本与仓库的对应关系。
1七、 解决冲突
svn resolved: 移除工做副本的目录或文件的“冲突”状态。
用法: resolved PATH…
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,而后让 PATH 能够再次提交。
1八、 输出指定文件或URL的内容。
svn cat 目标[@版本]…若是指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也能够写具体版本号,这样输出结果是能够提交的)