SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,是一个跨平台的软件,支持大多数常见的操作系统。

svn命令行使用:

1、查看svn所支持的全部命令

$
svn help

2、将文件checkout到本地目录

$
svn checkout path (path是服务器上的目录)

例如:svn
checkout svn://192.168.1.7/shop

简写:svn
co

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

$
svn add file

例如:svn
add test.php(添加test.php)

svn add *.php(添加当前目录下所有的php文件)

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

$
svn commit -m “LogMessage” [-N] [--no-unlock]
path(如果选择了保持锁,就使用-no-unlock开关,-m表示添加备注LogMessage)

例如:svn
commit -m “add test file for my test” test.php

简写:svn
ci

5、加锁/解锁

$
svn lock -m “LockMessage” [-force] path

例如:
svn lock -m “lock test file” test.php

svn
unlock path

6、更新到某个版本

$
svn update -r m path

例如:svn
update -r 200 test.php(将版本库中的文件test.php更新到版本200)

svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。

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

简写:svn
up

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

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、删除文件

$
svn delete path -m “delete test fle“

例如:svn
delete svn://192.168.1.7/shop/test.php -m “delete test file”

或者直接svn
delete test.php 然后再svn
ci -m ‘delete test file‘,推荐使用这种

简写:svn
(del, remove, rm)

9、查看日志

$
svn log path

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

10、查看文件详细信息

$
svn info path

例如:svn
info test.php

11、比较差异

$
svn diff path(将修改的文件与基础版本比较)

例如:svn
diff test.php

svn
diff -r m:n path(对版本m和版本n比较差异)

例如:svn
diff -r 200:201 test.php

简写:svn
di

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

$
svn merge -r m:n path

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

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

$
svn list path

显示path目录下的所有属于版本库的文件和目录

简写:svn
ls

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

$
svn mkdir: 创建纳入版本控制下的新目录。

用法:
1) svn mkdir path (每一个以工作副本
PATH 指定的目录,都会创建在本地端,并且加入新增

调度,以待下一次的提交)

2) svn mkdir URL (每个以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
是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

use-svn-cmd(Linux)的更多相关文章

  1. SVN(linux版)安装与使用

    SVN(linux版)安装与使用 一 简述:  SVN有2种运行方式,一种是 linux自带的轻量级服务器svnserve,一种是基于Apache的. 基于svnserve的,默认端口为3690,通过 ...

  2. svn在linux上的安装

    什么是svnSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subv ...

  3. svn 在linux 下的一些常用命令

    最近在Linux系统下玩一些svn的东西,感觉脑袋很乱, 于是整理了一下一些初学者必须弄明白的基本命令: 1. svn --version: 查看Linux系统下的svn client版本. Clie ...

  4. cmd&Linux 下使用mysql全记录

    php mysql数据库常用cmd命令集 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...

  5. svn之——linux下清除svn的用户名和密码

    问题:之前用的svn账号权限不够,需要使用别的账号,所以提出需求——怎么使用新的svn账号进行操作 方法一: linux下删除~/.subversion/auth即可清除之前的用户名和密码:rm -r ...

  6. 常用的CMD & Linux命令

    [CMD命令] 1.分行输入环境变量 使用echo %PATH%输出环境变量的时候没有分行输出,看起来十分麻烦: 通过xargs命令可以实现分行输出,命令如下: echo %PATH% | xargs ...

  7. svn搭建(linux下)

    安装svn: 依赖包: yum install openssl openssl-devel 问题(可以忽略不计):configure: WARNING: we have configured with ...

  8. 【svn】 linux svn 强制提交注释

    在svn版本库的hooks文件夹下面,复制模版pre-commit.tmpl cp pre-commit.tmpl pre-commit chmod +x pre-commit vi编辑,如下: #! ...

  9. svn在linux下的使用(转)

    ubuntu命令行模式操作svn 首先要安装SVN客户端到你的系统才能操作各种命令 apt-get install subversion 1.将文件checkout到本地目录 svn checkout ...

  10. svn在linux下的使用(svn命令行)ubuntu 删除 新增 添加 提交 状态查询 恢复

    合并步骤:(1)先切换到分支:(2)svn merge trunk . (3)svn sw trunk (4)svn merge --reintegrate branch . svn merge ht ...

随机推荐

  1. IE浏览器Cookie信息提取工具Galleta

    IE浏览器Cookie信息提取工具Galleta   浏览器Cookie中保存着用户访问网站的各项敏感信息,如用户登录凭证.提取这些信息后,就可以以该用户的身份访问对应的网站.为了方便信息获取,Kal ...

  2. viewport 测试以及总结

    这里的总结的主要思想是ppk的文章(文末附有链接),加入了自己的总结,下面的测试用的是iphone5s,android是安卓5.5吋的手机,只是为了直观感受和方便解释拿了空出来的测试机给出的数据.详细 ...

  3. Linux的软连接和硬连接

    1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接] 硬连接指通过索引 ...

  4. IntelliJ IDEA 14.x 的 project 和 module 是啥关系?

    使用基于IntelliJ的IDE,如phpstorm.android studio都会对project和module的关系比较糊涂,简单的概括如下: IntelliJ系中的 Project 相当于Ec ...

  5. selenium控制浏览器为手机模式

    # -*- coding: utf-8 -*- from selenium import webdriver from time import sleep mobileEmulation = {'de ...

  6. apache只记录指定URI的日志

    我的需求是,把类似请求 www.aaa.com/aaa/... 这样的请求才记录日志.在httpd.conf 或者 相关的虚拟主机配置文件中添加SetEnvIf Request_URI "^ ...

  7. 关于宏:container_of和 offsetof以及list_for_each_entry

    1.offsetof(TYPE, MEMBER) #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) offse ...

  8. 新人补钙系列教程之:体验ApplicationDomain 应用程序域

    要说应用程序域,就不得不说安全沙箱 安全沙箱在帮助文档的解释是: 客户端计算机可以从很多来源(如外部 Web 站点或本地文件系统)中获取单个 SWF 文件.当 SWF 文件及其它资源(例如共享对象.位 ...

  9. wp8开发时模拟器无法联网解决方法

    关于模拟器无法联网的正常解决方案在网上有很多 这里讲的是我在做测试的时候模拟器无法上网的特殊情况 由于使用的是无线网络 可能有一些差别 过程如图: 启动模拟器 如果之前没有设置过模拟器的交换器则会出现 ...

  10. 解决中文环境下zabbix监控图形注释乱码

    zabbix监控的图形界面能够更直观的查看监控状态,当我们把zabbix的语言切换为中文的时候,会发现监控图形中一些中文参数会乱码,例如下面的效果 但是图形界面在原生的英文环境下完全没有乱码问题.为了 ...