Giới thiệu về Hệ thống Quản lý Phiên bản (VCS), Git và GitHub
- 14-01-2026
- Toanngo92
- 0 Comments
Mục lục
Giới thiệu về Hệ thống Quản lý Phiên bản (VCS)
Quản lý phiên bản (còn gọi là quản lý mã nguồn) là quá trình theo dõi và quản lý các thay đổi trong mã nguồn phần mềm.
VCS là các công cụ hỗ trợ nhóm phát triển phần mềm trong việc quản lý thay đổi mã theo thời gian.
Với sự phát triển nhanh của môi trường phát triển phần mềm, các hệ thống này giúp đội ngũ làm việc hiệu quả và thông minh hơn.
Chúng đặc biệt hữu ích cho các nhóm DevOps, giúp giảm thời gian phát triển và tăng tỷ lệ thành công khi triển khai.
Tầm quan trọng của việc theo dõi thay đổi trong phát triển phần mềm
Việc theo dõi thay đổi là yếu tố then chốt để đảm bảo khả năng cộng tác trơn tru và duy trì tính trách nhiệm.
- VCS như Git cho phép nhiều lập trình viên cùng làm việc trên một dự án mà không ghi đè lên công việc của nhau
- Cung cấp cơ chế giải quyết xung đột hiệu quả
- Lưu trữ lịch sử đầy đủ của các thay đổi: ai làm, làm khi nào
Lịch sử này rất quan trọng để:
- Hiểu quá trình phát triển của dự án
- Debug lỗi
- Khôi phục phiên bản cũ khi mất hoặc hỏng dữ liệu
VCS còn:
- Cho phép tạo nhánh để thử nghiệm tính năng mới mà không ảnh hưởng mã chính
- Khuyến khích đổi mới
- Tích hợp quy trình code review để nâng cao chất lượng mã
- Hỗ trợ CI/CD nhằm đảm bảo mã mới không phá vỡ chức năng hiện có
Commit message và changelog đóng vai trò như tài liệu, giúp các lập trình viên hiện tại và tương lai hiểu rõ codebase.
Ngoài ra, VCS cung cấp:
- Nhật ký thay đổi minh bạch phục vụ kiểm toán và tuân thủ
- Tự động hóa nhiều bước trong quy trình phát triển
- Nâng cao năng suất và hiệu quả
👉 Kết luận: Theo dõi thay đổi bằng VCS là không thể thiếu trong phát triển phần mềm hiện đại.
Các loại Hệ thống Quản lý Phiên bản (Types of VCS Evolution)
1. Local Version Control Systems (LVCS)
Là dạng VCS đơn giản nhất, toàn bộ việc quản lý phiên bản diễn ra trên máy cục bộ.
- Mỗi file và thay đổi được lưu trong một cơ sở dữ liệu
- Cung cấp lịch sử chỉnh sửa cơ bản
Ví dụ: Revision Control System (RCS)
Đặc điểm:
- Cài đặt và sử dụng đơn giản
- Không phụ thuộc mạng
- Chỉ phù hợp cho cá nhân, không hỗ trợ làm việc nhóm
2. Centralized Version Control Systems (CVCS)
- Một máy chủ trung tâm lưu toàn bộ file và phiên bản
- Người dùng checkout file từ repository trung tâm
Ví dụ: CVS, Subversion (SVN), Perforce
Đặc điểm:
- Hỗ trợ cộng tác tốt hơn
- Quản lý tập trung
- Phải kết nối server trung tâm để commit
- Có nguy cơ “điểm lỗi duy nhất” (single point of failure)
3. Distributed Version Control Systems (DVCS)
- Mỗi client có một bản sao đầy đủ của repository và lịch sử
- Cho phép làm việc offline
- Dễ dàng branch và merge
Ví dụ: Git, Mercurial, Bazaar
Đặc điểm:
- Lưu toàn bộ lịch sử trên mỗi máy
- Phân tán → tăng độ tin cậy
- Hỗ trợ workflow phức tạp
- Hiệu năng cao cho team phân tán
- Làm việc offline hoàn toàn
Bảng so sánh các loại VCS
| Tính năng | Local VCS | Centralized VCS | Distributed VCS |
|---|---|---|---|
| Độ phức tạp | Đơn giản | Trung bình | Phức tạp |
| Phụ thuộc mạng | Không | Có | Không (local) |
| Cộng tác | Thấp | Cao | Rất cao |
| Bản sao repo | 1 bản local | 1 bản trung tâm | Mỗi client 1 bản |
| Điểm lỗi duy nhất | Không | Có | Không |
| Branch/Merge | Cơ bản | Trung bình | Nâng cao |
| Hiệu năng | Cao (local) | Phụ thuộc server | Cao |
| Làm việc offline | Có | Hạn chế | Hoàn toàn |
| Ví dụ | RCS | CVS, SVN, Perforce | Git, Mercurial |
Thuật ngữ phổ biến trong VCS
Repository
Kho lưu trữ dự án, chứa toàn bộ file và lịch sử thay đổi.
Commit
Một “ảnh chụp” của repository tại một thời điểm, ghi lại:
- Những file thay đổi
- Lý do thay đổi
Cho phép quay lại phiên bản trước nếu cần.
Cloning
Tạo bản sao local của repository từ remote để làm việc và commit trước khi push lên.
Branch
Nhánh phát triển riêng biệt để:
- Làm tính năng mới
- Fix bug
- Thử nghiệm
Không ảnh hưởng code chính.
Checkout
Chuyển đổi giữa các branch hoặc commit để làm việc với phiên bản cụ thể.
Fetching
Tải cập nhật từ remote về local không merge.
Pulling
Fetch + merge thay đổi từ remote vào branch hiện tại.
Forking
Tạo bản sao cá nhân của repository người khác để thử nghiệm và gửi pull request.
Git và GitHub là gì?
Git
- Là một hệ thống VCS phân tán
- Cho phép nhiều lập trình viên làm việc song song mà không xung đột
GitHub
- Nền tảng web lưu trữ repository Git
- Bổ sung các công cụ cộng tác và quản lý dự án
Ý nghĩa của Git và GitHub trong Quản lý Phiên bản
Git:
- Xử lý tốt dự án nhỏ đến rất lớn
- Hoạt động nhanh và hiệu quả
- Cho phép làm việc độc lập và song song
Một số tính năng của Git
- Branching: tạo nhiều luồng phát triển
- Merging: gộp thay đổi, xử lý xung đột
- Lightweight: thao tác local, ít tốn tài nguyên
- Speed: commit, branch, merge rất nhanh
Lợi ích:
- Mỗi dev có bản sao đầy đủ → làm việc offline
- Không có điểm lỗi duy nhất
- Branch/merge mạnh mẽ → tăng năng suất và chất lượng code
Tính năng của GitHub
- Công cụ cộng tác: pull request, issues, discussion
- Hosting repository: truy cập mọi nơi, phù hợp open-source
- Hỗ trợ cộng đồng lớn
- Dễ chia sẻ code
- Tích hợp CI/CD: test, deploy tự động
Cài đặt Git và GitHub Desktop trên Windows
Cài Git
Bước 1: Truy cập
👉 https://git-scm.com/
Nhấn Download để tải Git cho Windows.
Bước 2: Chạy file cài đặt
- Mở file Git-2.x.x-64-bit.exe
- Làm theo hướng dẫn
- Nhấn Finish khi hoàn tất
Cấu hình Git
Mở Git Bash → nhập:
git config --global user.name "Peter" git config --global user.email [email protected]
Thông tin này sẽ gắn với các commit.
Cài GitHub Desktop
Bước 1: Truy cập
👉 https://desktop.github.com/
Bước 2: Tải bản Windows và cài đặt
Bước 3: Đăng nhập hoặc tạo tài khoản GitHub
- Sau khi đăng nhập, có thể clone, tạo repo, quản lý dự án
Thiết lập tài khoản GitHub
Bước 1: Truy cập https://github.com/
Bước 2: Nhấn Sign up
Bước 3: Nhập:
- Username
- Password mạnh
Bước 4: Xác thực email
Bước 5: Cá nhân hóa tài khoản và đăng nhập
Đăng nhập GitHub

Các thao tác cơ bản với Repository bằng Git và GitHub
Tạo Repository
Chúng ta sẽ tìm hiểu cách tạo một repository bằng GitHub.
Sử dụng GitHub
Bước 1: Đăng nhập GitHub
- Truy cập website GitHub
- Đăng nhập vào tài khoản hiện có
Bước 2: Tạo Repository mới
- Nhấn vào biểu tượng “+” ở góc trên bên phải
- Chọn New repository
Tạo Repository mới

- Nhập tên repository
- Nhập mô tả (không bắt buộc)
- Chọn chế độ hiển thị (Public hoặc Private)
- Chọn khởi tạo với file README nếu muốn
- Nhấn Create repository
Nhập thông tin chi tiết của Repository mới

Sử dụng Git
Khởi tạo Repository cục bộ (Initialize a Local Repository)
- Mở Git Bash và di chuyển đến thư mục dự án
- Chạy lệnh:
git init
- Lệnh này sẽ khởi tạo một Git repository mới trong thư mục hiện tại
Tạo Git Repository thành công
Clone Repository
Chúng ta tiếp tục tìm hiểu cách clone một repository bằng GitHub.
Sử dụng GitHub
Tìm URL của Repository
- Truy cập repository cần clone trên GitHub
- Nhấn nút Code và sao chép URL của repository

Clone một Repository có sẵn
- Mở Git Bash
- Chạy lệnh:
git clone <repository-url>
- Thay
<repository-url>bằng URL đã sao chép từ GitHub
Clone Repository bằng Git
Repository từ GitHub sẽ được sao chép về máy cục bộ dưới dạng một repository local.
Tổng kết (Summary)
- Version Control theo dõi và quản lý các thay đổi của mã nguồn, giúp nhóm làm việc hiệu quả và giảm thời gian phát triển
- Theo dõi thay đổi trong phát triển phần mềm giúp cộng tác liền mạch, đảm bảo trách nhiệm, và cung cấp lịch sử đầy đủ cho việc debug và theo dõi tiến trình dự án
- VCS như Git cho phép nhiều lập trình viên làm việc đồng thời, hỗ trợ branching, merging và sao lưu để khôi phục phiên bản cũ
- LVCS hoạt động trên máy local, phù hợp cho cá nhân nhưng không hỗ trợ cộng tác
- CVCS sử dụng server trung tâm, tăng khả năng cộng tác nhưng phụ thuộc mạng và có điểm lỗi duy nhất
- DVCS cung cấp bản sao đầy đủ cho mỗi client, hỗ trợ làm việc offline và workflow phức tạp
- Git (DVCS) cho phép làm việc độc lập, offline, branching và merging hiệu quả
- GitHub kết hợp với Git cung cấp môi trường cộng tác, chia sẻ code dễ dàng và tích hợp CI/CD
Bài tập
- Tạo repository mới demo1 trên GitHub, khởi tạo với file README. Sau khi tạo xong, chỉnh sửa README và commit với commit message có ý nghĩa.
- Tạo repository demo2 bằng dòng lệnh Git. Thêm và xóa file, sau đó push repository này lên GitHub.
- Clone bất kỳ repository nào từ GitHub về máy local bằng Git Bash. Mở file trong repository đã clone, chỉnh sửa, sau đó push thay đổi lên GitHub.





