Git là gì ?
Git còn được gọi là Distributed Version Control System (DVCS) hay VCS, là một hệ thống quản lý phiên bản phân tán ra đời vào năm 2005. Git giúp lập trình viên theo dõi và lưu trữ các phiên bản khác nhau của mã nguồn. Điều đặc biệt của Git là khả năng ghi nhận từng thay đổi, cho phép người dùng dễ dàng quay lại bất kỳ phiên bản trước đó họ cần, mà không cần phải nhớ rõ từng chỉnh sửa chi tiết.

Các khái niệm vận hành trong Git
- Repository (Repo) Là nơi lưu trữ mã nguồn và toàn bộ lịch sử thay đổi của dự án. Git cho phép bạn tạo repo cục bộ hoặc kết nối với repo từ xa.
- Commit Là hành động lưu lại những thay đổi ở một thời điểm cụ thể. Mỗi commit giống như một “ảnh chụp” (snapshot) trạng thái dự án, kèm theo ghi chú để mô tả nội dung thay đổi.
- Branch Là nhánh phát triển độc lập giúp bạn thử nghiệm tính năng mới mà không ảnh hưởng đến nhánh chính. Git cho phép tạo và quản lý branch dễ dàng với hiệu suất cao.
- Merge Là quá trình kết hợp nội dung từ một nhánh này vào nhánh khác. Đây là bước quan trọng để hợp nhất tính năng sau khi hoàn tất phát triển và kiểm thử.
Các workflow phổ biến khi sử dụng Git
Git hỗ trợ nhiều quy trình làm việc (workflow) khác nhau, tùy vào mô hình phát triển phần mềm:
- Git Flow Phù hợp với các dự án lớn, chia rõ nhánh phát triển (develop), nhánh chính (main), nhánh tính năng (feature), nhánh sửa lỗi (hotfix)…
- Feature Branch Workflow Tập trung vào việc phát triển từng tính năng trên nhánh riêng biệt, giúp dễ theo dõi và kiểm soát thay đổi.
- Forking Workflow Thường dùng trong các dự án mã nguồn mở. Mỗi người dùng fork (sao chép) toàn bộ repo về tài khoản riêng, phát triển trên đó và gửi pull request khi hoàn tất.
Cách thức hoạt động của Git
Git hoạt động theo cơ chế lưu trữ dữ liệu dưới dạng các snapshot (ảnh chụp), còn gọi là các trạng thái của mã nguồn tại một điểm thời gian cụ thể.
Mỗi khi có sự thay đổi trong mã nguồn, Git chỉ lưu trữ những phần thay đổi thay vì lưu trữ toàn bộ file mới. Để đạt hiệu quả cao hơn, Git chỉ lưu trữ file khi các tệp có sự thay đổi. Đồng thời, phần mềm sẽ liên kết tới một tệp có dữ liệu giống với file đã được lưu trữ trước đó. Điều này giúp Git tiết kiệm không gian lưu trữ, tối ưu hóa quá trình lưu trữ thông tin, đặc biệt là giúp lập trình viên dễ dàng theo dõi sự thay đổi trong dự án phức tạp.
Mỗi khi thực hiện một commit, Git sẽ chụp và tạo ra một snapshot cùng một tham chiếu tới snapshot đó. Để tối ưu hóa, nếu các file không thay đổi giữa các commit, Git sẽ không lưu trữ lại file đó mà chỉ lưu một liên kết đến file giống file trước đó đã được lưu trữ. 
Quy trình xử lý công việc (workflow) cơ bản trên Git thường bao gồm các bước sau:
- Khởi tạo kho lưu trữ: git init
- Thêm file vào vùng staging: git add <tên_file>
- Commit thay đổi: git commit <tên_file>
- Đẩy thay đổi lên kho lưu trữ từ xa: git push
Cơ chế snapshot của Git không chỉ tiết kiệm dung lượng mà còn tăng tốc độ truy cập lịch sử, tối ưu hóa việc merge và xử lý xung đột, hỗ trợ hiệu quả cho việc sử dụng branch.
Lợi ích của git
- Lưu lại được các phiên bản khác nhau của mã nguồn dự án phần mềm
- Khôi phục lại mã nguồn từ một phiên bản bất kỳ
- Dễ dàng so sánh giữa các phiên bản
- Phát hiện được ai đã sửa phần nào làm phát sinh lỗi
- Khôi phục lại tập tin bị mất
- Dễ dàng thử nghiệm, mở rộng tính năng của dự án mà không làm ảnh hưởng đến phiên bản chính (master branch)
- Giúp phối hợp thực hiện dự án trong nhóm một cách hiệu quả







Khoá học lập trình game con rắn cho trẻ em




