Lệnh cvs trong Linux

Giới thiệu

Trong lab này, chúng ta sẽ khám phá Concurrent Versions System (CVS), một hệ thống quản lý phiên bản phổ biến được sử dụng để quản lý mã nguồn và các file dự án. Chúng ta sẽ bắt đầu bằng cách cài đặt gói CVS trên Docker container Ubuntu 22.04, sau đó tạo một CVS repository mới và checkout một project. Cuối cùng, chúng ta sẽ học cách commit các thay đổi vào CVS repository.

Giới thiệu về CVS (Concurrent Versions System)

Trong bước này, chúng ta sẽ khám phá Concurrent Versions System (CVS), một hệ thống quản lý phiên bản phổ biến được sử dụng để quản lý mã nguồn và các file dự án.

Đầu tiên, hãy cài đặt gói CVS trên Docker container Ubuntu 22.04:

sudo apt-get update
sudo apt-get install -y cvs

Ví dụ đầu ra:

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]
Get:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1,638 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1,376 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1,274 kB]
Fetched 4,612 kB in 2s (2,306 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libkrb5-3 libkrb5support0 libserf-1-1 libsvn1 zlib1g
Suggested packages:
  cvs-doc
The following NEW packages will be installed:
  cvs libkrb5-3 libkrb5support0 libserf-1-1 libsvn1 zlib1g
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,374 kB of archives.
After this operation, 6,462 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...

CVS là một hệ thống quản lý phiên bản cho phép nhiều người dùng cộng tác trên một project bằng cách theo dõi các thay đổi đối với file và thư mục. Nó cung cấp các tính năng như phân nhánh, hợp nhất và giải quyết xung đột, giúp dễ dàng quản lý các thay đổi mã và duy trì lịch sử của project.

Tiếp theo, hãy tạo một CVS repository mới và checkout một project.

Tạo một CVS Repository và Checkout một Project

Trong bước này, chúng ta sẽ tạo một CVS repository mới và checkout một project.

Đầu tiên, hãy tạo một CVS repository mới trong thư mục /tmp/cvsrepo:

sudo mkdir /tmp/cvsrepo
sudo cvs -d /tmp/cvsrepo init

Ví dụ đầu ra:

cvs server: creating directory /tmp/cvsrepo/CVSROOT
cvs server: done

Lệnh cvs init khởi tạo một CVS repository mới trong thư mục được chỉ định.

Tiếp theo, hãy tạo một thư mục project mới và checkout project từ CVS repository:

cd ~/project
cvs -d /tmp/cvsrepo checkout myproject

Ví dụ đầu ra:

cvs checkout: Updating myproject
U myproject/README.md

Lệnh cvs checkout tạo một thư mục mới myproject và checkout các file project từ CVS repository.

Bây giờ, hãy điều hướng đến thư mục project và liệt kê các file:

cd myproject
ls -l

Ví dụ đầu ra:

total 4
-rw-r--r-- 1 labex labex 11 Apr 18 12:34 README.md

Bạn có thể thấy rằng file README.md đã được checkout từ CVS repository.

Commit Thay đổi vào CVS Repository

Trong bước này, chúng ta sẽ học cách commit các thay đổi vào CVS repository.

Đầu tiên, hãy điều hướng đến thư mục project và thực hiện một số thay đổi đối với file README.md:

cd ~/project/myproject
nano README.md

Thêm nội dung sau vào file README.md:

## My CVS Project
This is a sample project managed by CVS.

Lưu các thay đổi và thoát trình soạn thảo nano.

Bây giờ, hãy thêm các thay đổi vào CVS repository:

cvs add README.md
cvs commit -m "Added project description"

Ví dụ đầu ra:

cvs add: scheduling file `README.md' for addition
cvs commit: Examining .
cvs commit: Committing file README.md
RCS file: /tmp/cvsrepo/myproject/README.md,v
done
Checking in README.md;
/tmp/cvsrepo/myproject/README.md,v  <--  README.md
initial revision: 1.1
done

Lệnh cvs add lên lịch file README.md để thêm vào CVS repository, và lệnh cvs commit commit các thay đổi với message commit được cung cấp.

Để xác minh các thay đổi, hãy update bản sao cục bộ của project:

cvs update

Ví dụ đầu ra:

cvs update: Updating .
U README.md

Lệnh cvs update cập nhật thư mục project cục bộ với các thay đổi đã commit vào CVS repository.

Tóm tắt

Trong lab này, trước tiên chúng ta đã khám phá Concurrent Versions System (CVS), một hệ thống quản lý phiên bản phổ biến được sử dụng để quản lý mã nguồn và các file dự án. Chúng ta đã cài đặt gói CVS trên Docker container Ubuntu 22.04 và tìm hiểu về các tính năng chính của CVS, chẳng hạn như phân nhánh, hợp nhất và giải quyết xung đột. Sau đó, chúng ta đã tạo một CVS repository mới và checkout một project, cho phép nhiều người dùng cộng tác trên một project bằng cách theo dõi các thay đổi đối với file và thư mục. Cuối cùng, chúng ta đã học cách commit các thay đổi vào CVS repository, đảm bảo rằng lịch sử project được duy trì và các thay đổi có thể dễ dàng được quản lý.

400+ câu lệnh phổ biến trong Linux