安装:

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. DBA 经典面试题(4)

    1.如果信息采集管理系统(ICM)崩溃了怎么办?  答案:所有其他的管理器都会继续工作.ICM只会处理队列控制请求,意思是开启和关闭其他并发的管理器.    2.你如何加速打补丁的过程?    答案: ...

  2. Android核心基础(十)

    1.音频采集 你可以使用手机进行现场录音,实现步骤如下: 第一步:在功能清单文件AndroidManifest.xml中添加音频刻录权限: <uses-permission android:na ...

  3. linux之chdir函数解析

    [lingyun@localhost chdir]$ ls chdir.c [lingyun@localhost chdir]$ cat chdir.c  /********************* ...

  4. poj 3111 K Best (二分搜索之最大化平均值之01分数规划)

    Description Demy has n jewels. Each of her jewels has some value vi and weight wi. Since her husband ...

  5. 把分类的select写在moden里做成一个组件 高洛峰

    function selectform($name="pid", $pid=0) { $data = $this->field('id, concat(path, " ...

  6. php利用pdo进行mysql的事务处理机制

    想进行php的事务处理有下面几个步骤 1.关闭自动提交 2.开启事务处理 3.有异常就自动抛出异常提示再回滚 4.开启自动提交 下面是一个小示例利用pdo进行的php mysql事务处理,注意mysq ...

  7. springMVC3学习(六)--SimpleFormController

    SimpleFormController提交表单流程例如以下: login.jsp <form action="login" method="post"& ...

  8. [置顶] 【cocos2d-x入门实战】微信飞机大战之十二:分数的本地存储

    转载请表明地址:http://blog.csdn.net/jackystudio/article/details/12036237 作为一个单机游戏,连分数存储的的功能都没有,让它怎么在单机游戏圈里混 ...

  9. NET基础课-- 类型基础(NET之美)

    1.类型:值类型  引用类型. 分类依据:类型在内存的分配方式.值类型在堆栈,引用类型在托管堆. 名词:栈--所有变量都会被分配在栈上,只不过值类型直接含有数据,引用类型含有一个指向托管堆对象的地址. ...

  10. VS 2003 无法打开Web项目 文件路径与URL不符 这两者需要映射到相同的服务器位置

    解决方法: 将C:\Documents   and   Settings\Administrator\VSWebCache下面的文件全部删除