Git vs SVN
Git và SVN đều là phần mềm. Git là SCM, quản lý mã nguồn và hệ thống kiểm soát sửa đổi phân tán. SVN là hệ thống kiểm soát sửa đổi và phiên bản phần mềm.
Git là một SCM với trọng tâm chính là tốc độ. Nó được phát triển cho nhân Linux bởi Linus Torvalds. Nó có một kho lưu trữ với khả năng theo dõi sửa đổi và lịch sử đầy đủ. Kho lưu trữ này không phụ thuộc vào máy chủ trung tâm hoặc truy cập mạng. Đây là phần mềm miễn phí. Git được phân phối theo GNU và bảo trì của nó được giám sát bởi Junio Hamano. Apache Subversion, hoặc SVN, được phân phối theo giấy phép nguồn mở. Nó là một VCS không phân phối, Hệ thống kiểm soát phiên bản. Nó không có một kho lưu trữ tập trung hoặc máy chủ tập trung. Nó chủ yếu được sử dụng để duy trì các phiên bản lịch sử và hiện tại của mã nguồn, tài liệu và trang Web. Mục đích chính của SVN là được sử dụng như một sự kế thừa cho CVS, Hệ thống phiên bản đồng thời. Nó được phát triển bởi CollabNet, Inc.
Nội dung được lưu trữ trong Git là siêu dữ liệu. Nó lưu trữ nội dung trong thư mục gọi là thư mục .git, có kích thước lớn hơn. Thư mục .git trong máy là kho lưu trữ nhân bản. Thư mục bao gồm tất cả các thẻ, lịch sử phiên bản, các nhánh, v.v., như trong kho lưu trữ trung tâm; SVN lưu trữ các tập tin. Họ không có kho lưu trữ nhân bản.
Các nhánh Git dễ làm việc hơn. Hệ thống giúp nhanh chóng hợp nhất các tệp và cũng giúp tìm kiếm các tệp chưa được trộn; các nhánh SVN thực sự là một thư mục có trong kho lưu trữ. Để hợp nhất các nhánh, cần có các lệnh đặc biệt.
SVN có số sửa đổi toàn cầu, số sửa đổi là ảnh chụp nhanh của mã nguồn; Git không có cái này.
Git có nội dung được băm mật mã. Điều này được thực hiện bằng cách sử dụng thuật toán gọi là thuật toán băm SHA1. Tính năng này giúp bảo vệ nội dung khỏi tham nhũng kho lưu trữ do sự cố mạng hoặc lỗi đĩa.
Tóm lược: