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
相关推荐
白鹭1 小时前
MySQL主从复制进阶(GTID复制,半同步复制)
linux·运维·数据库·mysql·集群
叫我Zoe就行1 小时前
MySQL集群——主从复制
linux·数据库·学习·mysql
博语小屋2 小时前
进程控制之进程等待
linux
Dobby_052 小时前
【Linux】网络安全管理:SELinux 和 防火墙联合使用 | Redhat
linux·运维·云原生·防火墙·selinux
wheeldown2 小时前
【Linux】Linux进程状态和僵尸进程:一篇看懂“进程在忙啥”
linux·运维·服务器·进程
jzwalliser2 小时前
关于Linux生态的补充
linux·语言暴力
半桔2 小时前
【Linux手册】动静态库:从原理到制作
linux·运维·服务器·动态库
z202305082 小时前
Linux之块设备的多队列的实现机制
linux·运维·服务器
liulilittle2 小时前
Unix/Linux 平台通过 IP 地址获取接口名的 C++ 实现
linux·开发语言·c++·tcp/ip·unix·编程语言
阿贤Linux3 小时前
设置网卡名称为传统命名方式
linux·ubuntu