Sự khác biệt giữa Git và SVN Khác biệt giữa

Anonim

Git và 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 bản phân phối. SVN là một điều khiển sửa đổi và hệ thống 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 Linux kernel bởi Linus Torvalds. Nó có một kho với khả năng theo dõi sửa đổi và lịch sử đầy đủ. Kho này không phụ thuộc vào máy chủ trung tâm hoặc truy cập mạng. Đó là phần mềm tự do. Git được phân phối dưới GNU, và sự bảo trì của nó được giám sát bởi Junio ​​Hamano. Subversion của Apache, hoặc SVN, được phân phối theo giấy phép mã nguồn mở. Nó là một không phân phối VCS, Phiên bản Kiểm soát hệ thống. Nó không có một kho lưu trữ nào là tập trung hoặc một 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à các trang Web. Mục đích chính của SVN sẽ được sử dụng như 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 lưu trữ trong Git là siêu dữ liệu. Nó lưu trữ nội dung trong thư mục được gọi là a. git, có kích thước lớn hơn. Các. git thư mục 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 chi nhánh, vv, như trong kho trung tâm; SVN lưu trữ các tập tin. Họ không có một kho lưu trữ nhân bản.

 Các nhánh của Git dễ làm việc hơn. Hệ thống giúp kết hợp các tập tin một cách nhanh chóng và cũng giúp đỡ trong việc tìm kiếm những unmerged; các chi nhánh SVN thực sự là một thư mục có trong kho lưu trữ. Để hợp nhất các chi nhánh, các lệnh đặc biệt được yêu cầu.

 SVN có một số sửa đổi toàn cầu, số sửa đổi là một snapshot của mã nguồn; Git không có điều 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 một 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 sự cố của kho lưu trữ do các vấn đề về mạng hoặc lỗi đĩa.

Tóm tắt:

  1. Git là một VCS phân tán; SVN là một VCS không phân phối.
  2. Git có một máy chủ và kho lưu trữ tập trung; SVN không có một máy chủ tập trung hoặc kho lưu trữ.
  3. Nội dung trong Git được lưu trữ dưới dạng siêu dữ liệu; SVN lưu trữ các tập tin của nội dung.
  4. Các nhánh Git dễ làm việc hơn so với các nhánh SVN.
  5. Git không có tính năng sửa đổi toàn cầu như SVN.
  6. Git có bảo vệ nội dung tốt hơn so với SVN.
  7. Git được phát triển cho Linux kernel bởi Linus Torvalds; SVN được phát triển bởi CollabNet, Inc.
  8. Git được phân phối dưới GNU, và sự bảo trì của nó được giám sát bởi Junio ​​Hamano; Subversion của Apache, hoặc SVN, được phân phối theo giấy phép mã nguồn mở.