Version Control là một phương pháp trong công nghệ phần mềm dùng để kiểm soát, tổ chức và theo dõi lịch sử thay đổi của các tệp tin máy tính. Mặc dù chủ yếu được dùng cho các tệp mã nguồn, nhưng về cơ bản nó có thể áp dụng cho mọi loại tệp tin.
Version Control System là công cụ phần mềm giúp tự động hóa quá trình này, nó quản lý các thay đổi của mã nguồn theo thời gian, cho phép lập trình viên theo dõi lịch sử chỉnh sửa và quay lại các phiên bản cũ bất cứ khi nào cần thiết.
Một số Version Control System còn cung cấp một kho lưu trữ tập trung để lưu trữ mã nguồn, cho phép nhiều lập trình viên làm việc trên cùng một dự án hiệu quả.
Không chỉ đơn thuần là lưu trữ file, Version Control cung cấp những khả năng cốt lõi giúp quy trình phát triển phần mềm an toàn và hiệu quả hơn:
Mặc dù mục tiêu giống nhau, nhưng cách các hệ thống này lưu trữ và quản lý dữ liệu lại khác nhau. Có 3 loại chính:
Hệ thống này chỉ hoạt động trên một máy tính cá nhân. Tất cả lịch sử và database được lưu trữ ngay trên ổ cứng của máy tính.
Ví dụ: Apache Subversion (SVN).
Hệ thống này sử dụng một server trung tâm duy nhất để lưu trữ tất cả các phiên bản file. Các lập trình viên sẽ kết nối đến server này để lấy code về hoặc gửi thay đổi lên.
Ví dụ: Git, Mercurial.
Đây là tiêu chuẩn hiện đại. Trong hệ thống phân tán, lập trình viên không chỉ tải về phiên bản mới nhất của file, mà họ sao chép toàn bộ kho chứa (repository) bao gồm cả lịch sử về máy mình.

Version Control là kiến thức bắt buộc đối với mọi lập trình viên, cần phải biết lợi ích và tận dụng nó. Version Control System là một hệ thống độc lập, tách biệt hoàn toàn với bất kỳ ngôn ngữ lập trình hay framework nào. Nói cách khác, nó có thể được sử dụng cho mọi dự án, bất kể bạn chọn ngôn ngữ lập trình nào để phát triển.
Trong bài tiếp theo, chúng ta sẽ đi sâu vào Git - một Version Control System mạnh mẽ nhất hiện nay và cách cài đặt nó.
Tiếp theo: Git là gì?