Version Control System (VCS) là gì

Version Control System tạm dịch là Hệ thống quản lý phiên bản. Sỡ dĩ được gọi như vậy là vì các VCS sẽ lưu trữ tất cả các file trong dự án và ghi lại toàn bộ lịch sử thay đổi của file, mỗi sự thay đổi được lưu lại sẽ được phiên bản hóathành một version (phiên bản).

Version Control VCS là gì?

Trước hết, hãy bắt đầu với VCS. VCS là gì? VCS là viết tắt của Version Control System tạm dịch là Hệ thống quản lý phiên bản. Sỡ dĩ được gọi như vậy là vì các VCS sẽ lưu trữ tất cả các file trong dự án và ghi lại toàn bộ lịch sử thay đổi của file, mỗi sự thay đổi được lưu lại sẽ được phiên bản hóathành một version (phiên bản). (Để ý giúp mình từ “được lưu lại”, mình sẽ giải thích thêm ở phần Commit).
Và tất nhiên, bạn có thể xem lại danh sách các sự thay đổi của file như xem một timeline của các version. Mỗi version bao gồm: nội dung file bị thay đổi, ngày giờ sửa đổi, người thay đổi là ai, lý do thay đổi hay tên version…

VCS sinh ra để làm gì?

Có hai điều quan trọng nhất để tạo ra một VCS:

  1. Lưu lại lịch sử các phiên bản của bất kỳ thay đổi nào của mã nguồn. Giúp xem lại các sự thay đổi hoặc khôi phục lại sau này. Như mình đã trình bày ở trên.
  2. Chia sẻ mã nguồn trở nên dễ dàng hơn khi kết hợp với các hosting-service để lưu trữ các version-control. Có để public cho bất kỳ ai, hoặc private chỉ cho một số người có thẩm quyền có thể truy cập và lấy source về.

Phân loại Version Control system(VCS)

Đối với các hệ thống VCS, hiện tại chúng được phân ra gồm ba loại dựa trên cách lưu trữ và chia sẻ các phiên bản:

  • Local Version Control System – Hệ thống quản lý phiên bản cục bộ.
  • CVCS – Centralized Version Control System – Hệ thống quản lý phiên bản tập trung.
  • DVCS – Distributed Version Control System – Hệ thống quản lý phiên bản phân tán (Git là thuộc loại này)
Để nghiên cứu kĩ hơn, các bạn có thể tham khảo tại https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control