Linux 下SVN新手操作手册

ops/2024/12/25 2:12:37/

下面来介绍Linux 下 SVN操作方法:

1、SVN的安装

Centos 7 安装Subversion

sudo yum -y install subversion

Ubuntu 安装Subversion

sudo apt-get install subversion

自定义安装,官方地址:https://subversion.apache.org/

2、SVN的使用

2.1、Checkout

svn checkout URL [目录]//不指定目录
svn checkout svn://192.168.1.1/project
//指定目录
svn checkout svn://192.168.1.1/project test
//下载到当前目录
svn checkout svn://192.168.1.1/project ./

注:目录可以有,也可以没有;若本地目录已有文件/目录,一般会有冲突,得解决冲突;一般建议将有完整项目文件的本地作为源数据上传,这就会友好此。

2.2 Update

svn update [文件或目录]//更新当前目录
svn update ./
//更新具体文件
svn update ./test.txt//更新到某个版本
svn update -r m path//将版本库中的文件test.php还原到版本200
svn update -r 200 ./test.php

注:如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除 svn resolved,最后再提交commit 

2.3 Add

svn add [文件或目录]//添加某目录
svn add ./test
//添加某文件
svn add ./test.txt
//添加当前目录下所有的php文件
svn  add  *.php

请指定要添加的文件或目录,批量添加如下:

# 批量添加所有新文件到版本控制
svn add * --force*代表当前目录下的所有文件和目录,--force参数确保svn也检查子目录。
注意,这不会添加已经被忽略的文件(即在.svnignore中指定的文件)

2.4 Commit

//将本地更改提交到仓库
svn commit -m "提交信息" [文件或目录]
//提交某文件
svn commit -m "提交信息" ./test.txt

若提交时碰到如下提示:

在操作命令后加上“--force-log”,如下:

注:

a、-m “提交信息” 是必须提供的,用于描述本次提交的内容或目的;
b、[文件或目录] 是可选参数,指定要提交的特定文件或目录。如果不指定,则提交当前目录下的所有更改。

2.5 Delete

//从版本控制中删除文件或目录。
svn delete [文件或目录] -m “delete test file”//单个删除
svn delete 1.txt
# 批量删除方法
svn delete 1.txt 2.txt//删除文件加备注
svn delete path -m “delete test fle“//单个删除
svn delete 1.txt -m “delete test file”
# 批量删除方法
svn delete 1.txt 2.txt -m “delete test file”

2.6 Revert

//撤销对文件或目录的本地更改
svn revert [文件或目录]# 当前目录下递归地还原所有修改过的文件,包括子目录下的文件
svn revert -R .

 注:[文件或目录] 指定要还原的文件或目录。如果要还原所有更改,可以使用递归选项 -R

2.7 Diff

//查看文件的更改详情,将修改的文件与基础版本比较
svn diff [文件]//示例
svn diff test.php//对版本m和版本n比较差异
svn diff -r m:n path//示例
svn diff -r 200:201 test.php

注:[文件] 是可选参数,指定要查看差异的文件。如果不指定,则显示所有更改的文件的差异。 

2.8 Log

//查看仓库的提交历史
svn log [文件或目录]

注:[文件或目录] 是可选参数,指定要查看历史的特定文件或目录;显示这个文件的所有修改记录,及其版本号的变化

2.9 Status 

//查看本地副本的状态
svn status [path]# svn status 命令可以用来查看工作副本中文件和目录的状态。下面是一些可能的状态标识及其含义:
A - Added(已添加):文件或目录是新添加的,尚未被提交到版本库。
C - Conflict(冲突):文件出现了冲突,需要解决冲突后才能继续操作。
D - Deleted(已删除):文件或目录被删除,但尚未提交删除操作。
I - Ignored(已忽略):文件或目录被设置为被忽略,不会被版本控制跟踪。
M - Modified(已修改):文件已经被修改过。
R - Replaced(已替换):文件被替换。
X - External(外部定义):目录是外部定义的。
K :被锁定
? - Not under version control(未加入版本控制):文件或目录未被添加到版本控制中。
! - Missing(缺失):文件或目录在工作副本中存在,但磁盘上已经不存在。//显示文件和子目录状态
svn status -v path//第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。 

2.10 Info

//获取文件或目录的版本控制信息
svn info [文件或目录]

注:[文件或目录] 是可选参数,指定要获取信息的文件或目录。 

2.11 resolved

// 标记冲突为解决
svn resolved [文件路径]

 注: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。

 2.12 lock/unlock

//加锁
svn lock -m “LockMessage“  [ --force ] PATH
//加锁示例
svn lock -m “lock test file“ test.php//解锁
svn unlock PATH

2.13 merge

//合并
svn merge -r m:n path//示例
svn merge -r 200:205 test.php

 注:将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下

2.14 list

//版本库下的文件和目录列表
svn list path

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

2.25 help

SVN 帮助

2.26 mkdir

//创建纳入版本控制下的新目录
svn mkdirsvn mkdir PATH//创建版本控制的目录
svn mkdir URL


http://www.ppmy.cn/ops/144721.html

相关文章

【Chrome Extension】一、CSDN计时扩展设计

【Chrome Extension】一、CSDN计时扩展设计 重点内容内容脚本 content_scripts 文件目录1、整体目录2、manifest.json3、scripts/content.js4、css/content.css 重点内容 内容脚本 content_scripts 1、manifest.json文件配置 {"manifest_version": 3, # *依赖Chro…

如何从 ASP.NET Core IIS上传大文件一些配置

使用ASP.NET Core上传文件,可以参考官方文档: 使用缓冲模型绑定上传小文件到物理存储。 默认情况下,Windows IIS 将maxRequestLength和maxAllowedContentLength分别限制为 4096 KB 和 30,000,000 字节。要上传大于这些限制的文件,…

油漆面积(2017年蓝桥杯)

时间限制 2s 内存限制 256M 问题描述:X星球的一批考古机器人正在一片废墟上考古。该区域的地面坚硬如石、平整如镜。管理人员为了方便,建立了标准的直角坐标系。每个机器人都各有特长、身怀绝技。它们感兴趣的内容也不相同。经过各种测量,每个…

智能文档处理百宝箱,文档处理的必备利器

1、引言 文档解析是开发者在业务实践中会频繁面临的场景,不管是用AI辅助日常工作,还是从事产品研发,从非结构化文本中提取文字、图片等信息具有很大的挑战。 目前市面上的文档解析工具普遍存在繁杂无序,缺乏统一评估标准&#xff…

MySQL InnoDB 存储引擎 Redo Log(重做日志)详解

1 Redo Log 的作用与重要性 Redo Log 是 InnoDB 存储引擎中用于实现事务持久性和崩溃恢复的关键组件。它的主要功能是记录对数据库页(page)所做的物理修改,确保即使在系统崩溃的情况下,已经提交的事务也不会丢失,并且可…

git命令恢复/还原某个文件、删除远程仓库中的文件

有时刚创建的远程仓库,可能无意中把一些没用的文件上传到仓库,本文介绍一下怎么删除这些文件。 一、git命令恢复某个文件 第一步:拉取最新代码 git pull 第二步: 查看git 修改的文件状态 git status 第三步:查看…

信管通低代码信息管理系统应用平台

目前,国家统一要求事业单位的电脑都要进行国产化替代,替代后使用的操作系统都是基于linux的,所有以前在WINDOWS下运行的系统都不能使用了,再者,各单位的软件都很零散,没有统一起来。需要把日常办公相关的软…

Cobalt Strike 4.8 用户指南-第十四节 Aggressor 脚本

14.1、什么是Aggressor脚本 Aggressor Script 是Cobalt Strike 3.0版及更高版本中内置的脚本语言。Aggressor 脚本允许你修改和扩展 Cobalt Strike 客户端。 历史 Aggressor Script 是 Armitage 中开源脚本引擎Cortana的精神继承者。Cortana 是通过与 DARPA 的网络快速跟踪计…