Hệ thống kiểm soát phiên bản (VCS) là các công cụ theo dõi các thay đổi đối với mã và tệp theo thời gian, cho phép nhiều người dùng cộng tác trong các dự án, duy trì lịch sử và quản lý các phiên bản khác nhau của cơ sở mã. Chúng giúp theo dõi các sửa đổi, hợp nhất các thay đổi và giải quyết xung đột. Có hai loại VCS chính: tập trung và phân tán. Các hệ thống tập trung (như Subversion và CVS) dựa vào một kho lưu trữ trung tâm duy nhất, trong khi các hệ thống phân tán (như Git và Mercurial) cho phép mỗi người dùng có một bản sao hoàn chỉnh của kho lưu trữ, bao gồm cả lịch sử của nó. Các VCS phân tán, chẳng hạn như Git, đặc biệt phổ biến vì tính linh hoạt, khả năng phân nhánh và hỗ trợ mạnh mẽ cho các quy trình làm việc cộng tác.