Ubuntu下svn 版本管理客户端工具及常用方法

Ubuntu16.04系统下安装RapidSVN版本控制器及配置diff,editor,merge和exploer工具,在Window下我们使用TortoiseSVN(小乌龟),可以很方便地进行查看、比较、更新、提交、回滚等SVN版本控制操作。

在Linux下我们可以使用RapidSVN。RapidSVN是一款轻量级的免费、开源 SVN 客户端,相比tortoise svn它更加小巧而且占系统资源少运行速度快。

一:安装RapidSVN版本控制器

在Ubuntu 16.04下可以使用安装很容易:

第一种方法:

打开终端输入命令即可,如下:

sudo apt-get install rapidsvn

第二种方法:

在Ubuntu software(软件中心)搜索svn,即可看到RapidSVN软件,点击下载即可,如下图:


二:配置diff,editor,merge和exploer工具

辅助工具:

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,如下图


 

接下来如上面所类似配置即可

 Diff Tool : meld

 Merge Tool : meld


SVN在Ubuntu下使用方法:

1、首先需要安装SVN。Ubuntu下的SVN安装十分简单,sudo apt-get install subversion,然后根据提示一步一步,就完成了SVN的安装;

2、检出文件(checkout)。

     使用命令:svn co http://{svn repository url} /destination

     也可以使用: svn co svn://xxx.xxx.xxx/xx,这样会在主文件夹下生成xx文件夹,把svn上的内容都下载到xx文件夹里面。

     然后系统会用当前的用户名登录,提示输入密码,如果第一次密码输入错误,会提示你输入用户名;

     输入正确后,就可以检出文件了。

3、提交 改的 文件(commit)。

      进入需要更新的目录,输入命令:

      svn commit -m path-to-commit,其中path-to-commit可以为空,成功后会提示更新后的版本号。

4、更新文件(update)。

     svn update,在要更新的目录运行这个命令就可以了。

5、查看日志(log)。

     svn log path

 

6、为Eclipse配置SVN。

     http://subclipse.tigris.org/files/documents/906/38385/site-1.2.3.zip,可以从 这个地址下载Eclipse的插件,拷贝到plugins目录中以后,重启Eclipse就可以打开SVN的视图了。

    也可以通过官方的 安装页面来进行在线安装:http://subclipse.tigris.org/install.html

 

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

1、 将文件checkout到本地目录

svn checkout path(path 是服务器上的目录)
例如:svn checkout svn:
 // 192.168 . 1.1 / pro / domain
简写:svn co

2、 往版本库中添加新的文件

svn add file 
例如:svn 
add test.php(添加test.php)
svn 
add * .php(添加当前目录下所有的php文件)

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

svn commit -m  LogMessage  [ -N ] [ --no-unlock ] PATH (如果选择了保持锁,就使用–no- unlock开关)
例如:svn commit -m 
 add test file for my test  test.php
简写:svn ci

4、 加锁/解锁

svn lock -m  LockMessage  [ --force ] PATH
例如:svn lock -m 
 lock test file  test.php
svn unlock PATH

5、 更新到某个版本

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

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

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

7、 删除文件

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)

8、 查看日志

svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9、 查看文件详细信息

svn info path
例如:svn info test.php

10、 比较差异

svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di

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

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

12、 SVN 帮助

svn help
svn help ci

——————————————————————————

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

——————————————————————————

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

svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls

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

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

15、 恢复本地修改

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

16、 代码库URL变更

svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]

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

17、 解决冲突

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink的Table API 与SQL介绍及调用

1 概述 DataSetAPI和DateStreamAPI是基于整个Flink的运行时环境做操作处理的,Table API和SQL是在DateStreamAPI上又包了一层。对于新版本的Blink在DateStream基础上又包了一层实现了批流统一,上层执行环境都是基于流处理,做批流统一的查询。T…

Python编程中一些异常处理的小技巧

编程中经常会需要使用到异常处理的情况,在阅读了一些资料后,整理了关于异常处理的一些小技巧记录如下。 1 如何自定义异常 1.1 定义异常类 在实际编程中,有时会发现Python提供的内建异常的不够用,我们需要在特殊业务场景下的异常…

Flink的Table API 与SQL的流处理

1 流处理与SQL的区别 Table API和SQL,本质上还是基于关系型表的操作方式;而关系型表、SQL本身,一般是有界的,更适合批处理的场景。所以在流处理的过程中,有一些特殊概念。 SQL流处理处理对象字段元组的有界集合字段元…

LeetCode 833. 字符串中的查找与替换(排序,replace)

文章目录1. 题目2. 解题1. 题目 某个字符串 S 需要执行一些替换操作,用新的字母组替换原有的字母组(不一定大小相同)。 每个替换操作具有 3 个参数:起始索引 i,源字 x 和目标字 y。 规则是:如果 x 从原始…

Json.NET

我前面的一篇博客 Metro应用Json数据处理 介绍了如何使用 DataContractJsonSerializer 类将对象的实例序列化为JSON字符串以及将JSON字符串反序列化为对象的实例的处理方式。而此种处理方式的一个很大的缺点就是要求JSON字符串格式是约定好的,而在很多情况下我们无法…

MySQL如何跨机器迁移数据?

经常会遇到如此需求,需把A主机上的MySQL数据库所有迁移到B主机上,或者部分数据库,所以接下来将介绍迁移所有数据库和迁移单个数据库时的数据迁移步骤。 1 实验环境 A主机(源主机): IP地址:19…

ClickHouse的特性及读写

1 ClickHouse特性 OLAP数据库一般有2个要求:①容量要比关系型数据库大,②在线查询的速度要快。ClickHouse这两点都满足并且还支持标准的sql,支持比较复杂的语句,支持分布式。ClickHouse的几个显著特点如下: &#xff0…

天池 在线编程 最大得分(DP)

文章目录1. 题目2. 解题1. 题目 来源&#xff1a;https://tianchi.aliyun.com/oj/164423301311799378/184808348725744275 2. 解题 class Solution { public:/*** param matrix: the matrix* return: the maximum score you can get*/int maximumScore(vector<vector<i…

imagick用法!

https://coderwall.com/p/9hj97w sudo apt-get install imagemagick sudo apt-get install php5-imagick sudo service apache2 restart 使用imagick类&#xff1a; http://www.wodezhan.cn/?p15转载于:https://www.cnblogs.com/vincedotnet/p/3592957.html

天池 在线编程 LR String

文章目录1. 题目2. 解题1. 题目 来源&#xff1a;https://tianchi.aliyun.com/oj/164423301311799378/184808348725744276 2. 解题 class Solution { public:/*** param s: a string* param t: a string* param n: max times to swap a l and a r.* return: return if s can …

Python中如何在一行里获取多个异常

我知道这样&#xff1a; try:# 可能错的地方 except:# 如果错了执行这里也知道这样&#xff1a; try:# 可能错的地方 except IDontLikeYourFaceException:# 给爷笑一个 except YouAreTooShortException:# 踩高跷但是我想在两个不同的异常里做同样的事&#xff0c;我能想到的办法…

DolphinScheduler对比Airflow

DolphinSchedulerAirFlow稳定性单点故障去中心化的多Master和多Worke是&#xff08;单一调度程序&#xff09;HA额外要求不需要(本身就支持HA)Celery / Dask / Mesos Load Balancer DB过载处理任务队列机制&#xff0c;单个机器上可调度的任务数量可以灵活配置&#xff0c;当…

Python中字符串格式化:%和format

Python2.6推出了[str.format()]方法&#xff0c;和原有的%格式化方式有小小的区别。那个方法更好&#xff1f; 下面的方法有同样的输出&#xff0c;它们的区别是什么&#xff1f; #!/usr/bin/pythonsub1 "python string!"sub2 "an arg"a "i am a …

jsAutomation 服务器不能创建对象(转)

var ExApp new ActiveXObject("Excel.Application") “automation服务器不能创建对象”的问题的解决方案大全本人工作中的应用系统都是jsp的&#xff0c;大量javascript程序&#xff0c;一旦出“automation服务器不能创建对象”问题&#xff0c;大量报表及查询无法保…

天池 在线编程 音乐组合

文章目录1. 题目2. 解题1. 题目 来源&#xff1a;https://tianchi.aliyun.com/oj/164423301311799378/184808348725744274 2. 解题 对60求余后&#xff0c;0, 30的为 Cn2C_n^2Cn2​&#xff0c;其余的相加等于60的&#xff0c;种类相乘 class Solution { public:/*** param …

java之NIO(Channel,Buffer,Selector)

java之NIO 1 什么是NIO Java NIO (New IO&#xff0c;Non-Blocking IO)是从Java 1.4版本开始引入的一套新的IO API。NIO支持面向缓冲区的、基于通道的IO操作。NIO的三大核心部分&#xff1a;通道(Channel)&#xff0c;缓冲区(Buffer), 选择器(Selector)&#xff0c;数据总是从…

Python中对象名称前单下划线和双下划线有啥区别

单下划线 在一个类中的方法或属性用单下划线开头就是告诉别的程序这个属性或方法是私有的。然而对于这个名字来说并没有什么特别的。 引自PEP-8&#xff1a; 单下划线&#xff1a;"内部使用"的弱指示器。比如&#xff0c;from M import * 将不会引进用但下划线开头的…

JQUERY解析XML IE8的兼容问题

var str"xml字符串"; alert($(str).find("Row").attr("Id")); 在IE8下&#xff0c;这段脚本无法运行&#xff0c;&#xff0c;而在IE9以上的版是正常的 IE8浏览器只能强制把字符串转成XML ajaxfxml new ActiveXObject("Microsoft.XMLDOM&q…

LeetCode 1652. 拆炸弹(前缀和)

文章目录1. 题目2. 解题1. 题目 你有一个炸弹需要拆除&#xff0c;时间紧迫&#xff01;你的情报员会给你一个长度为 n 的 循环 数组 code 以及一个密钥 k 。 为了获得正确的密码&#xff0c;你需要替换掉每一个数字。所有数字会 同时 被替换。 如果 k > 0 &#xff0c;将…

Hadoop DistCp工具简介及其参数

1 概述 DistCp&#xff08;分布式拷贝&#xff09;是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发&#xff0c;错误处理和恢复&#xff0c;以及报告生成。 它把文件和目录的列表作为map任务的输入&#xff0c;每个任务会完成源列表中部分文件的拷贝…