安装:

svn客户端:apt-get install subversion ,然后根据提示一步一步,就完成了svn的安装。当然,也可以源码安装 svn,下载 subversion 一个最新版本的源码包,解压之后就可以安装了。

使用:

1、项目管理

通过网页打开http://192.168.xxx.xxx/svnmanager/,在网页进行项目管理(添加或者删除项目成员的读写权限,增加或者删除项目成员)。

2、 将文件checkout到本地目录

svn checkout path(path是服务器上的目录)
  例如:svn checkout http://192.168.xxx.xxx/svn/sdvr (sdvr项目名字)
  简写:svn co

3、 往版本库中添加新的文件(或者文件夹)

在checkout 的目录下(工作目录)执行
   svn add file(folder)(增加文件后要commit文件)
   例如:svn add xxx.c(添加xxx.c)
   svn add xxx/(添加xxx目录下的所有文件和目录)
   svn add * .c(添加当前目录下所有的c文件)

4、 将改动的文件提交到版本库

在checkout 的目录下(工作目录)执行
  svn commit -m " LogMessage " [ -N ] [ --no-unlock ] PATH (如果选择保持锁,就使用--no-unlock开关)
  例如:svn commit -m " add test file for my test " xxx.c
  简写:svn ci

5、 加锁/解锁

 在checkout 的目录下(工作目录)执行
   svn lock -m " LockMessage " [ --force ] PATH
   例如:svn lock -m " lock test file " xxx.c
   svn unlock PATH

6、 更新到某个版本

在checkout 的目录下(工作目录)执行
   svn update -r m path
   例如:
   svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
   svn update -r 3 xxx.c(将版本库中的文件xxx.c还原到版本3)
   svn update xxx.c(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved ,最后再提交commit)
   简写:svn up

7、 查看文件或者目录状态

在checkout 的目录下(工作目录)执行
   1 )svn status path (目录下的文件和子目录的状态,正常状态不显示)
  【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
   2 )svn status -v path (显示文件和子目录状态)
   第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
   注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
   简写:svn st

8、 删除文件

在checkout 的目录下(工作目录)执行
   svn delete path -m " delete test fle "(引号内容提交到日志) 
   例如:
   svn delete svn://192.168.xxx.xxx/svn/sdvr/domain/xxx.c -m " delete test file "
   或者直接svn delete xxx.c 然后再svn ci -m 'delete test file‘,推荐使用这种
   简写:svn (del, remove, rm)

9、 查看日志

在checkout 的目录下(工作目录)执行
  svn log path
  例如:svn log xxx.c 显示这个文件的所有修改记录,及其版本号的变化

10、 查看文件详细信息

在checkout 的目录下(工作目录)执行
  svn info path
  例如:svn info xxx.c

11、 比较差异

在checkout 的目录下(工作目录)执行
  svn diff path(将修改的文件与基础版本比较)
  例如:svn diff xxx.c
  svn diff -r m:n path(对版本m和版本n比较差异)
  例如:svn diff -r 5:4 xxx.c
  简写:svn di

12、 将两个版本之间的差异合并到当前文件

在checkout 的目录下(工作目录)执行
  svn merge -r m:n path
  例如:svn merge -r 200 : 205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

13、 SVN 帮助

 在checkout 的目录下(工作目录)执行
  svn help
  svn help ci

------------------------------------------------------------------------------

以上是常用命令,下面写几个不经常用的

------------------------------------------------------------------------------

14、 版本库下的文件和目录列表

在checkout 的目录下(工作目录)执行
   svn list path
   显示path目录下的所有属于版本库的文件和目录
   简写:svn ls

15 创建纳入版本控制下的新目录

在checkout 的目录下(工作目录)执行
  svn mkdir : 创建纳入版本控制下的新目录。
  用法: 1、mkdir PATH...
             2、mkdir URL...
  创建版本控制的目录。
  1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交。
  2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
  在这两个情况下,所有的中间目录都必须事先存在。

16、 恢复本地修改

在checkout 的目录下(工作目录)执行
   svn revert : 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。
   revert:
   用法: revert PATH...
   注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录

17 代码库URL变更

在checkout 的目录下(工作目录)执行
  svn switch (sw): 更新工作副本至不同的URL。
  用法: 1、switch URL [PATH]
          2、switch --relocate FROM TO [PATH...]
  1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。
  2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动 (比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用这个命令更新工作副本与仓库的对应关系。

18 解决冲突

在checkout 的目录下(工作目录)执行
  svn resolved: 移除工作副本的目录或文件的“冲突”状态。
  用法: resolved PATH...
  注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
      相关文件,然后让 PATH 可以再次提交。

19 输出指定文件或URL的内容。

在checkout 的目录下(工作目录)执行
   svn cat 目标[@版本]...如果指定了版本,将从指定的版本开始查找。
   svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

20、 修改svn的源地址。

在checkout 的目录下(工作目录)执行
   svn switch --relocate http://192.168.168.3/svn/hdvr http://192.168.0.3/svn/hdvr

21、更新到某个版本

test.php(将版本库中的文件test.php还原到版本200)
  svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
  简写:svn up

 
错误:

svn: Working copy 'trunk/src' locked svn:
run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

异常操作导致目录没有解锁。
一个简单的方法:在 .svn 目录下创建空的名为 lock的文件,使用命令行 "svn cleanup" 或者类似的“清理”动作删除锁定
使用svn cleanup还是解决不了问题,只能删除目录重新checkout

===========================

一键清除SVN或CVS版本控制目录

==========================

用过SVN或CVS版本控制工具的筒子们,在享受着它们给我们带来的方便的同时,也许也在为这么一件事情苦恼:
     如果某个目录在SVN或CVS版本控制工具的控制之下时。该目录下以及该子孙目录下都会有一个.svn目录或CVS目录。当我们想让该目录脱离版本控制工具控制时,想删除这些.svn目录或CVS目录。一个一个手动删除吗?目录树大了呢?有成百上千个分支目录也要手动删除吗?
     NO。有更简便的方法,即可实现一键删除。操作步骤如下:
    步骤一、编写注册表脚本
     新建一个文本文件,把下面的代码COPY进去,保存为delSVNorCVS.reg(可直接从本文附件中下载)

  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteCVSOrSVN]
  3. @="Delete CVS/SVN Folders"
  4. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteCVSOrSVN\command]
  5. @="cmd.exe /c \"TITLE Removing CVS/SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn,CVS) DO RD /s /q \"%%f\" \""

步骤二、执行注册表脚本
     双击delSVNorCVS.reg,导入注册表(安装了360等安全管家的筒子会遇到怀疑是木马的提示,放行!)。
    步骤三、Delete CVS/SVN Folders
     选择想要清除.svn或CVS目录的文件夹,点击右键,发现了什么?是否多了个“Delete CVS/SVN Folders”?!(如下图所示),选择执行!然后你会发现,该目录下以及该目录的子孙目录下的.svn或CVS目录都被删除了!
  

好了,目的达到了。That's all!

SVN在ubuntu的安装和使用的更多相关文章

  1. ubuntu下安装svn

    Ubuntu下使用SVN SVN作为日常开发中不可缺少的工具,今天终于开始在Ubuntu下使用了. 1.首先需要安装SVN.Ubuntu下的SVN安装十分简单,sudo apt-get install ...

  2. Ubuntu下安装Wine&WineQQ+Phpstorm+wps+svn+vim(计划任的使用)+flashplayer+curl扩展

    一.安装Wine 1.添加PPA sudo add-apt-repository ppa:ubuntu-wine/ppa 2.更新列表 sudo apt-get update 3.安装Wine sud ...

  3. ubuntu下安装和配置apache2+SVN的详细方法介绍

    ubuntu安装和配置SVN第一步:安装apache2  libapache2-svn subversionsudo apt-get install apache2sudo apt-get insta ...

  4. ubuntu下安装jdk,tomcat,mysql,ftp,telnet,svn

    需求分析:自己弄了个小网站,想放到云服务器上,同时把自己积累的代码也放上去,服务器上的文件可以简单的在windows上查看,也可以方便的通过windows连接linux服务器. 解决:运行网站要用到j ...

  5. Ubuntu 环境安装整理

    Ubuntu11.04下Java开发环境搭建和配置 转自:http://guoyunsky.iteye.com/blog/1175861 类似的搭建,网上一搜一大把,但每次去搜索比较麻烦.我这里就整理 ...

  6. ubuntu桌面安装常用软件&及常见问题

    自己从windows转向ubuntu桌面开发,根据需求安装以下文件: ubuntu 桌面版下载:http://www.ubuntu.org.cn/download/desktop 有的公司设置静态ip ...

  7. ubuntu14.04下svn版本管理系统的安装及常用命令的使用整理

    ubuntu14.04下安装svn$sudo apt-get install subversion 执行这一步就安装完成了,在ubuntu先安装很方便 安装完成后,创建版本库目录,由于是本地环境,就在 ...

  8. 在Ubuntu下安装ovs-dpdk

    在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...

  9. Ubuntu 下安装QT

    Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...

随机推荐

  1. Hive 11、Hive嵌入Python

    Hive嵌入Python Python的输入输出都是\t为分隔符,否则会出错,python脚本输入print出规定格式的数据 用法为先add file,使用语法为TRANSFORM (name, it ...

  2. springMVC+mybatis用户登录实例

    1.整体结构 2.准备工作 数据库: --Mysql 5.6 创建数据库 wolf 1 CREATE DATABASE wolf; 创建用户表 user 1 2 3 4 5 6 create tabl ...

  3. Linux系统守护进程详解ntsysv 可以关掉那些服务

    acpid, haldaemon, messagebus, klogd,network, syslogd  以上几个服务必须开启!其他的分析如下: 1.NetworkManager,NetworkMa ...

  4. JMeter一个错误the target server failed to respond--JMeter坑

    问题:1.在测试一个http景象,特别是集波动TPS时刻,出现了一个错误.它现在是一个必须错误(压力顺利时却零星的错误,甚至很少见): 每次必现错误(開始一直怀疑是网络或程序的问题)   2.失败事务 ...

  5. Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8570428 通过前面几篇文章的学习,我们知道了 ...

  6. AE分级渲染

    分级渲染classbreakrenderer位于carto类库中,进行分级渲染时,首先要将相应图层按照某一Field分级.可使用esrisystem类库中的iclassifyGEN类的classify ...

  7. JQuery 之事件中的 ----- hover 与 onmouseover 、onmouseout 联系

    hover([over,]out) 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法.这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态. 当鼠标移动到一个匹配的元素 ...

  8. Wordpress更换主题之后出错

    今天吃完午饭,休息休息,最近搞了一下google adsense,不过最终的审核没通过,我想会不会是界面不好看呢,饭后就在电脑旁,更换了几个wordpress主题,我的博客使用wordpress搭建的 ...

  9. YUI的UA检测

    YUI.UA是针对javascript的宿主环境检测的一个检测对象,返回的是一系统关于当前宿主的信息 1.对象相关信息列表及userAgent 检测对象o = { ie: 0, //ie Mozill ...

  10. Mysql表大小数据大小索引大小查询

    SELECT CONCAT(ROUND((INDEX_LENGTH+DATA_LENGTH)/1024/1024, 2), 'MB') AS '总大小',CONCAT(ROUND(DATA_LENGT ...