安装:

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. Linux SD/MMC/SDIO驱动分析

    一.SD/MMC/SDIO概念区分 SD(SecureDigital)与 MMC(MultimediaCard) SD 是一种 flash memory card 的标准,也就是一般常见的 SD 记忆 ...

  2. Qt之模型/视图(委托)

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.Qt import * from PyQt4. ...

  3. python之路-模块安装 paramiko

    paramiko介绍(全是洋文,看不懂啊,赶紧有道翻译吧,等有朝一日,我去报个华尔街): "Paramiko" is a combination of the esperanto ...

  4. hdu4506小明系列故事——师兄帮帮忙 (用二进制,大数高速取余)

    Problem Description 小明自从告别了ACM/ICPC之后,就開始潜心研究数学问题了,一则能够为接下来的考研做准备,再者能够借此机会帮助一些同学,尤其是美丽的师妹.这不,班里唯一的女生 ...

  5. 又一道软通动力7K月薪面试题——银行业务调度系统

    后期补充:网友对我诟病最多的就是我帮学生做面试题,说这是小偷和骗子行为,在此,我对自己给学员做面试题做出例如以下解释:  (1)学员拿着面试题来找老师,学生也事先思考和尝试后实在没有办法,又求职心切才 ...

  6. iOS之Swift语言的学习

    好久都没有来这个熟悉而又陌生的地方啦, 想想已经有两三个月了吧,不过我相信以后还是会经常来的啦,因为忙碌的学习已经过去啦,剩下的就是要好好的总结好好的复习了,好好的熟悉下我们之前学习的知识点,将他们有 ...

  7. 推荐几本不错的ASP.NET MVC书

    以前主要是做PHP应用的,由于工作需要,捡起来.NET, 特别是新技术层出不穷,找了几本书看,个人感觉还不错,网上也有电子版的下载 一. ASP.NET MVC4 Web 编程 O'Reilly出版社 ...

  8. TreeView中右击直接获取节点的方法

    在TreeView中无法直接右击得到一个节点,因为当你选中其中一个右击时(不能是第一个)他会默认跳到第一个. 有时我们要想直接右击得到选中的节点,又时我们又想选中直接右击跳出一个快捷菜单怎么办了! 在 ...

  9. 如何更改 Mac OS X 系统默认用户名

    说到 Mac 用户名估计有许多人都不知道在哪个地方修改,其实说简单也简单说麻烦也麻烦看你自己的需求.好比如果你只要用户名的登录更改,那是就非常简单的事了.下面这里就给大家介绍mac osx系统如何更改 ...

  10. C# ?? 运算符,不能忘记的知识点

    最近项目中有一个bug被测试(是黑盒测试)发现了,跟了老半天代码,才找到这个问题的所在,原来是一个计算表达式中用到了??运算符,才导致了这个错误,下面让我简单讲述一下. C# ?? 运算符 msdn上 ...