介绍
在本实验中,你将学习如何在 Ubuntu 22.04 环境中安装和使用 Subversion (SVN) 版本控制系统。你将初始化一个本地 SVN 仓库,提交更改,更新仓库,并在需要时回滚更改。实验涵盖了 SVN 的基本命令及其实际应用,为你使用 SVN 管理源代码和协作开发项目打下坚实的基础。
实验首先在 Ubuntu 22.04 上安装 Subversion 包。然后,它将引导你完成初始化本地 SVN 仓库的过程,使你能够管理项目文件并跟踪随时间的变化。你将学习如何提交新的更改,使用最新更改更新仓库,以及回滚任何不需要的修改。通过这次 SVN 的动手实践,你将掌握在开发工作流中有效使用此版本控制系统的必要技能。
在 Ubuntu 22.04 上安装 Subversion (SVN)
在这一步中,我们将在 Ubuntu 22.04 环境中安装 Subversion (SVN) 版本控制系统。
首先,更新包索引并安装 Subversion 包:
sudo apt-get update
sudo apt-get install -y subversion
示例输出:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
...
Fetched 324 kB in 1s (324 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libapache2-mod-svn libsvn1 perl-modules-5.34 python3-subversion
Suggested packages:
subversion-tools
The following NEW packages will be installed:
libapache2-mod-svn libsvn1 perl-modules-5.34 python3-subversion subversion
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,197 kB of archives.
After this operation, 16.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...
安装完成后,我们可以验证 Subversion 的版本:
svn --version
示例输出:
svn, version 1.14.1 (r1943681)
compiled Aug 10 2022, 13:12:26 on x86_64-pc-linux-gnu
Copyright (C) 2022 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
现在,Subversion 已成功安装在 Ubuntu 22.04 环境中。
初始化本地 SVN 仓库
在这一步中,我们将在 Ubuntu 22.04 环境中初始化一个本地 Subversion (SVN) 仓库。
首先,创建一个目录来存放本地 SVN 仓库:
mkdir ~/project/svn-repo
现在,我们可以在 ~/project/svn-repo 目录中初始化 SVN 仓库:
cd ~/project/svn-repo
svnadmin create .
示例输出:
$ cd ~/project/svn-repo
$ svnadmin create .
svnadmin create . 命令会在当前目录中初始化一个新的 Subversion 仓库。
接下来,验证仓库结构:
ls -l ~/project/svn-repo
示例输出:
total 16
drwxr-xr-x 2 labex labex 4096 Apr 12 10:12 conf
drwxr-xr-x 2 labex labex 4096 Apr 12 10:12 db
drwxr-xr-x 2 labex labex 4096 Apr 12 10:12 format
drwxr-xr-x 2 labex labex 4096 Apr 12 10:12 hooks
drwxr-xr-x 2 labex labex 4096 Apr 12 10:12 locks
-rw-r--r-- 1 labex labex 12 Apr 12 10:12 README.txt
仓库结构包括多个目录和一个 README.txt 文件,这些用于管理仓库配置、数据库和钩子。
现在,本地 SVN 仓库已初始化并可以使用。
在 SVN 中提交、更新和回滚更改
在这一步中,我们将学习如何在 Subversion (SVN) 仓库中提交、更新和回滚更改。
首先,在 SVN 仓库中创建一个新文件:
cd ~/project/svn-repo
echo "This is a test file." > test.txt
现在,我们可以将新文件添加到 SVN 仓库中:
svn add test.txt
示例输出:
A test.txt
接下来,将更改提交到仓库:
svn commit -m "Add test.txt file"
示例输出:
Adding test.txt
Transmitting file data .
Committed revision 1.
svn commit 命令会将更改上传到 SVN 仓库,并附带提供的提交信息。
现在,修改 test.txt 文件并更新仓库:
echo "Updated test file." >> test.txt
svn update
示例输出:
U test.txt
Updated to revision 2.
svn update 命令会从仓库下载最新的更改并将其应用到本地工作副本中。
最后,回滚对 test.txt 文件的更改:
svn revert test.txt
cat test.txt
示例输出:
Reverted 'test.txt'
This is a test file.
svn revert 命令会丢弃本地更改,并将文件恢复到上次提交的状态。
通过这些操作,我们学习了如何在 SVN 仓库中提交、更新和回滚更改。
总结
在本实验中,你学习了如何在 Ubuntu 22.04 上安装 Subversion (SVN),初始化本地 SVN 仓库,并使用 SVN 命令(如提交、更新和回滚)管理更改。你创建了一个本地 SVN 仓库,学习了如何提交新文件、更新仓库以及在需要时回滚更改。这些技能对于使用 Subversion 进行版本控制和协作开发至关重要。



