linux下svn版本控制的常用命令大全

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
备注:提交多个文件中间用空格隔开如   svn ci -m "哈哈~~" test.php test2.php style.css

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

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

16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL。
用法:
1、switch URL [PATH]
更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。

2、switch –relocate FROM TO [PATH...]
改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。

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

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

以上就是linux系统下svn的常用的命令,掌握了这些常用命令基本上日常使用svn基本上没有什么大问题了

(0)

相关推荐

  • PHP程序员玩转Linux系列 自动备份与SVN

    PHP程序员玩转Linux系列文章: 1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转Linux系列-备份还原MySQL 我的代码经常在开发修改,为了代码的安全性,比如哪天误删了文件,或者哪天改错东西了,可以恢复回来,我要搞代码备份.备份代码,我先做最简单的,使用linux的定时机制加shell命令打包文件,每天按日期保存,保存最近7天的备份. 前

  • SVN服务备份操作步骤分享

    SVN服务备份操作步骤 1.准备源服务器和目标服务器 源服务器:192.168.1.250 目标服务器:192.168.1.251 root/rootroot 2.对目标服务器(251)装SVN服务器, 脚本如下: yum install subversion 3.创建一个新的仓库 (svnadmin create 路径),脚本如下: svnadmin create ~/svn-storage-bak 4.进入svn-storage-bak这个仓库的根目录中,脚本如下: cd ~/svn-sto

  • 详解Eclipse安装SVN插件的两种方法

    eclipse里安装SVN插件,一般来说,有两种方式: 直接下载SVN插件,将其解压到eclipse的对应目录里 使用eclipse 里Help菜单的"Install New Software",通过输入SVN地址,直接下载安装到eclipse里 第一种方式: 1.下载SVN插件 SVN插件下载地址及更新地址,你根据需要选择你需要的版本.现在最新是1.8.x Links for 1.8.x Release: Eclipse update site URL: http://subclip

  • linux svn服务器搭建、客户端操作、备份与恢复

    Subversion(SVN)是一个开源的版本控制系統,管理着随时间改变的数据.这些数据放置在一个中央资料档案库中,这个档案库很像一个普通的文件服务器,它会记住每一次文件的变动,这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史. 本文目录: Linux svn服务器部署 linux svn客户端命令操作 linux svn备份与恢复 一.linux svn服务器部署 1.安装svn [root@yang~]#yum install -y subversion [root@yang~]#sv

  • Python实现SVN的目录周期性备份实例

    本文实例讲述了Python实现SVN的目录周期性备份方法.分享给大家供大家参考.具体如下: 起因:今天用SVN时,不小心把远程SVN服务器上的目录删掉了,然后在本地又手贱地还原了一下项目(eclipse中右键项目team => 还原),导致写了大半天的代码全部丢失,用多款数据恢复软件恢复也无果.一怒之下写了这个目录周期性备份小工具,每隔5秒备份源目录中的所有文件到目标目录(保留结构),保证目标目录中的文件只增不减.且每次只拷贝发生变化的文件(比较两个文件的MD5值). 思考:虽然SVN也是一个版

  • Jenkins与SVN持续集成的示例代码

    概述 Jenkins是一个Java语言编写的开源的持续集成工具,它的前身为Hudson,使用它可以进行项目的自动编译.测试与发布,这极大的减轻了团队之间的繁琐重复的工作,从而加快了整个项目的交付进度. 官网下载Jenkins&SVN&eclipse,版本号没要求,建议使用最新稳定版本 登录Jenkins:http://localhost:8080 登录SVN:http://localhost:3343/csvn 默认admin账号登录SVN,登录后,点击版本库->创建版本库 4.打开

  • 详解IntelliJ IDEA中TortoiseSVN修改服务器地址的方法

    公司的svn的地址改变了,怎么办呢.自己本地的正在修改的项目怎么办呢? 修改一下svn的服务器地址咯. 1.就是先关闭ide,重新打开,然后选择svn去设置新的路径.如下图: 2.然后打开原来的项目,选中项目之后,再按图如下操作. 上面的from就是现在的url,下面的to就是要改写成什么的目的URL. 然后OK. 然后就可以在下面的version control 里面刷新一下,那么原来的历史就可以出来了. 然后就完事了. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们

  • IntelliJ IDEA使用SVN分支的简单介绍

    说是要创建个SVN的分支,用于单独的定制化项目的开发.与主干项目分开.所以,要创建个branch.翻译一下就是分支的意思啦. 下面看怎么操作吧. 选择项目,右键,然后如图操作. 就会出现下图. 对图稍微解释一下. copy from : 就是从哪个地方取数据来当作svn仓库的初始源码. 有2个选项,二选一. working copy: 估计就是把你本地的那个目录下面的项目文件,作为svn仓库的初始,copy 源. 注意,要是使用这个选项,有些个是不需要提交到svn管理的,比如,web项目的tar

  • 远程镜像与备份SVN服务器的方法小结第1/2页

     我们来看一个简单的svnsync例子: 主SVN服务器: http://mastersvn/project1 svnsync镜像SVN服务器上的部署:http://backupsvn/project1 第一步:建立仓库 cd /home/svn svnadmin create –fs-type fsfs /home/svn/project1 chmod 777 –R project1 第二步:镜像初始化 svnsync init http://backupsvn/project1 http:/

  • 详解Linux运维CentOS系统SVN双备份Shell脚本

    前言 SVN是Subversion的简称,是一个开放源代码的版本控制系统,采用了分支管理系统.说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的. 作为一个代码管理工具,备份操作显得尤为重要,这里采取这样的备份策略:在执行本地备份的同时,让Shell脚本自动上传数据到另一台FTP备份服务器中,这种异地备份策略成本比较小,无需存储,而且安全系统高,想到与双备份,本地和异地同时出现数据损坏的概率是低很多的. 备份策略说明 使用CentOS 6系列系统,安装vsftpd,修改配置参数.

  • Webstorm2017上SVN插件安装的方法步骤

    安装Webstorm2017后,要使用svn版本控制,以下步骤介绍如何安装配置SVN 1.安装SVN 我这里使用的是TortoiseSVN-1.9.4.27285-x64-svn-1.9.4,本地下载地址://www.jb51.net/softs/200754.html TortoiseSVN中文版的安装配置与使用教程://www.jb51.net/softjc/567095.html 安装过程需要注意的是,默认安装没有选择"command line client tools",这里需

随机推荐