Linux下SVN常用指令

1.将本地文件上传到 SVN 服务器标准流程

1.1步骤一:准备本地工作副本

通过 svn checkout 检出了一个工作副本(Working Copy),例如:

bash 复制代码
[srv01]:/home/tmp/design>svn checkout /your-svn-server/path/to/repo/trunk myproject  
eg:
[srv01]:/home/tmp/design>svn co svn://srv01/myproject

从名为srv01的 SVN 服务器上的 /myproject 仓库中,检出最新版本的代码到当前目录下。 这会在当前目录下生成一个名为 myproject 的本地工作副本目录。

1.2步骤二:复制要上传的文件/文件夹到工作副本中

假设你要上传的文件位于 /home/user/myfiles/ 目录下,复制要上传的文件/文件夹到工作副本中myproject (复制整个文件夹)

bash 复制代码
cp -r /home/user/myfiles/* myproject/
cp -r /home/user/myfiles/ myproject/

如果是单个文件:

bash 复制代码
cp  /home/user/myfile.txt myproject/

1.3步骤三:跳转到工作副本目录

bash 复制代码
cd myproject

1.4步骤四:将新文件加入版本控制(add)

SVN 不会自动跟踪未加入版本控制的文件。你需要对新增的文件或目录执行:

bash 复制代码
svn add myfile.txt

如果是整个文件夹:

bash 复制代码
svn add myfolder --force

--force 用于递归添加所有子文件和子目录。

1.5步骤五:查看状态(status)

确认哪些文件被添加或修改了:

bash 复制代码
svn status
svn st

你会看到类似这样的输出:

bash 复制代码
A       myfile.txt
A       myfolder/
A       myfolder/subfile.txt
A 表示已添加(Added)

1.6步骤六:提交更改(commit)

最后一步是将你的更改提交到 SVN 服务器:

bash 复制代码
svn ci -m "上传新文件和文件夹"

也可以指定具体文件提交:

bash 复制代码
svn ci -m "上传 myfile.txt" myfile.txt

2. 常用指令

01 将文件checkout到本地目录

bash 复制代码
svn checkout /your-svn-server/path/to/repo/trunk myproject

02 往版本库中添加新的文件

bash 复制代码
svn add myfile.txt

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

bash 复制代码
svn ci -m "上传新文件和文件夹" flie

05 更新

bash 复制代码
svn up
svn update

06 查看文件或者目录状态

bash 复制代码
svn status
svn st            //简写

07 查看日志

bash 复制代码
svn log             //查看全部
svn log --limit 10  //查看最近10条

svn log path        //查看某个文件的所有修改记录,及其版本号的变化
eg:svn log test.v  //查看test.v文件的所有修改记录,及其版本号的变化

08 查看文件详细信息

09 删除 文件

bash 复制代码
svn del 1122.v

10 查看SVN路径

由于大部分软件的安装都是系统自动安装的,查看文件安装的所有路径(如:SVN版本控制软件)。Linux系统已经安装了SVN,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令。

1.查看所有的文件路径:
bash 复制代码
命令:
whereis svn
2.查询运行文件所在路径
bash 复制代码
命令:
which svn

11 查看svn版本

bash 复制代码
命令:
svn --version

12 SVN帮助

bash 复制代码
命令:
svn help
svn help ci
相关推荐
teacher伟大光荣且正确3 分钟前
Linux 下编译openssl
linux·运维·服务器
dlz083610 分钟前
--group-start/--group-end 能不能解决 OpenSSL 1.0 vs 1.1 的优先级问题?
linux·运维·服务器·软件需求
小池先生1 小时前
activemq延迟消息变成实时收到了?
linux·数据库·activemq
tryCbest2 小时前
Linux系统下安装使用Redis
linux·运维·redis
AuroBreeze3 小时前
xv6-2023 - primes Lab
linux·运维·服务器
DIY机器人工房3 小时前
NAT 模式、命令行版、桥接模式方式给ubuntu虚拟机配网步骤:
linux·网络协议·ubuntu·嵌入式·桥接模式·diy机器人工房
wdfk_prog4 小时前
[Linux]学习笔记系列 -- lib/sort.c 通用的排序库(Generic Sorting Library) 为内核提供标准的、高效的排序功能
linux·运维·c语言·笔记·stm32·学习·bug
闲人编程4 小时前
深入理解Python的`if __name__ == ‘__main__‘`:它到底做了什么?
服务器·数据库·python·main·name·魔法语句
黑马金牌编程4 小时前
简易分析慢 SQL 的流程和方法
linux·数据库·mysql·性能优化·性能分析·慢日志
什么半岛铁盒5 小时前
C++项目:仿muduo库高并发服务器---------LoopThreadPool模块和TcpServer模块的实现
linux·服务器·c++·mysql·ubuntu