Mercurial so với Git

GitKhông kiên định là cả hai công cụ phần mềm miễn phí cho GitKhông kiên địnhMáy chủ web tích hợp Không Đúng Móc trước / sau sự kiện Đúng Đúng Kết thúc chuyển đổi dòng Đúng Đúng Thẻ Đúng Đúng Hỗ trợ quốc tế Một phần Đúng Đổi tên tập tin Có (ngầm) Đúng Hợp nhất đổi tên tập tin Đúng Đúng Liên kết tượng trưng Đúng Đúng Mã nguồn mở Đúng Đúng Ký sửa đổi Đúng Đúng ID sửa đổi Băm SHA-1 Số, băm SHA-1 Cam kết nguyên tử Đúng Đúng Mô hình lịch sử Ảnh chụp nhanh Thay đổi Kích thước kho lưu trữ O (bản vá) (ký hiệu Big O) O (bản vá) (ký hiệu Big O) Mô hình tương tranh Hợp nhất Hợp nhất Các hệ điều hành Giống như Unix, Windows, Mac OS X Giống như Unix, Windows, Mac OS X Khu vực tổ chức Đúng Không Chi nhánh bên ngoài Đúng Không Giá cả Miễn phí Miễn phí Từ khóa RCS Có, nhưng không nên thông qua plugin đi kèm Thanh toán nông / bản sao Đúng Phần mở rộng Bugzilla Theo dõi tên tập tin / thư mục Đổi tên phát hiện Đổi tên theo dõi Kiểm tra thư mục con / bản sao Không Không Mô hình lưu trữ Phân phối Phân phối Giữ quyền Chỉ thực hiện bit Chỉ thực hiện bit Giao thức mạng tùy chỉnh, tùy chỉnh qua ssh, rsync, HTTP, gói email HTTP, tùy chỉnh qua ssh, gói email (với plugin tiêu chuẩn) Được phát triển bởi Junio ​​Hamano, Linus Torvald Matt Mackall Duy trì bởi Junio ​​Hamano Matt Mackall Viết vào C, Vỏ Bourne, Perl Python và C Hợp nhất theo dõi Đúng Đúng Tích hợp Bug Tracker Không Trac (thông qua plugin) Giấy phép GPL v2 GPL v2 Trang mạng git-scm.com www.selenic.com/mercurial HĐH POSIX, hỗ trợ Windows tệ hơn Giống như Unix, Windows, Mac OS X Giới thiệu (từ Wikipedia) Git là một kiểm soát sửa đổi phân tán miễn phí, hoặc dự án quản lý mã nguồn phần mềm, tập trung vào việc nhanh chóng. Git ban đầu được tạo bởi Linus Torvalds để phát triển nhân Linux. Mercurial là một công cụ kiểm soát sửa đổi phân tán, đa nền tảng dành cho các nhà phát triển phần mềm. Nó chủ yếu được triển khai bằng ngôn ngữ lập trình Python, nhưng bao gồm triển khai khác biệt nhị phân được viết bằng C. Kiểu Kiểm soát sửa đổi Kiểm soát sửa đổi

Nội dung: Mercurial vs Git

  • 1 Mục tiêu thiết kế
  • 2 Dự án sử dụng Git vs Dự án sử dụng Mercurial
  • Tính di động 3 Git vs Mercurial
  • 4 Giao diện người dùng cho Git vs Mercurial
  • 5 video liên quan
  • 6 tài liệu tham khảo

Mục tiêu thiết kế

Các mục tiêu thiết kế chính của Mercurial bao gồm hiệu suất cao, khả năng mở rộng, là sự phát triển hợp tác không có máy chủ, phân phối đầy đủ, xử lý mạnh mẽ cả tệp văn bản và tệp nhị phân đơn giản, và khả năng hợp nhất và phân nhánh nâng cao, trong khi vẫn đơn giản về mặt khái niệm. Nó bao gồm một giao diện web tích hợp.

Một trong những mục tiêu thiết kế chính của Linus Torvalds cho Git là tốc độ và hiệu quả hoạt động. Các tiêu chí thiết kế khác bao gồm các biện pháp bảo vệ mạnh mẽ chống tham nhũng, vô tình hoặc độc hại.

Dự án sử dụng Git vs Dự án sử dụng Mercurial

Một số dự án phần mềm cấu hình cao hiện sử dụng Git để kiểm soát sửa đổi, đáng chú ý nhất là nhân Linux, Perl, Samba, X.org Server, Qt (bộ công cụ), phát triển lõi One Laptop per Child (OLPC), khung web Ruby on Rails, VLC , YUI, Merb, Wine, SWI Prolog, Gnome, GStreamer, DragonFly BSD và nền tảng di động Android.

Các dự án sử dụng Mercurial bao gồm Adblock Plus, Aldrin, Audacity, Dovecot IMAP server, GNU Octave, NxOS, Nuxeo, Growl, phần mềm wiki MoinMoin, Mozilla, Mutt (ứng dụng email), Netbeans (IDE), OpenJDK, Python, SAGE, Sun và Phần mềm nguồn mở của Oracle như Btrfs.

Tính di động của Git vs Mercurial

Mercurial ban đầu được viết để chạy trên Linux. Nó đã được chuyển sang Windows, Mac OS X và hầu hết các hệ thống tương tự Unix khác. Mercurial chủ yếu là một chương trình dòng lệnh.

Git được phát triển chủ yếu trên Linux, nhưng có thể được sử dụng trên các hệ điều hành giống Unix khác bao gồm BSD và Solaris.

Git cũng chạy trên Windows. Có hai biến thể:

  • Một cổng Microsoft Windows gốc, được gọi là msysgit sắp hoàn thành. Kể từ tháng 2 năm 2009, có các trình cài đặt có thể tải xuống sẵn sàng để thử nghiệm Một số lệnh chưa có sẵn từ GUI và phải được gọi từ dòng lệnh.
  • Git cũng chạy trên Cygwin (lớp mô phỏng POSIX), mặc dù nó chậm hơn đáng kể, đặc biệt là đối với các lệnh được viết dưới dạng shell script.

Giao diện người dùng cho Git vs Mercurial

Tất cả các hoạt động của Mercurial được gọi là tùy chọn từ khóa cho chương trình điều khiển hg, tham chiếu đến biểu tượng hóa học của thủy ngân nguyên tố. Giao diện GUI cho Mercurial bao gồm Hgk (Tcl / Tk). Điều này được thực hiện như một phần mở rộng Mercurial và là một phần của phiên bản chính thức. Trình xem này hiển thị biểu đồ chu kỳ có hướng của các thay đổi của kho lưu trữ Mercurial. Trình xem này có thể được gọi thông qua lệnh 'hg view', nếu tiện ích mở rộng được bật. hgk ban đầu được dựa trên một công cụ tương tự cho git gọi là gitk. Có hgk thay thế có tên hgview được viết bằng python thuần và cung cấp cả giao diện gtk và qt.

Các công cụ Mercurial liên quan bao gồm:

  • Các công cụ liên quan để hợp nhất bao gồm (h) gct (Qt) và Meld.
  • Tiện ích mở rộng chuyển đổi cho phép nhập từ kho CVS, Darcs, git, GNU Arch, Monotone và Subversion.
  • Netbeans IDE hỗ trợ Mercurial từ Phiên bản 6.
  • Rùa Hg cung cấp giao diện menu chuột phải, thân thiện với người dùng Windows.
  • VisualHG là plugin cung cấp kiểm soát nguồn Mercurial cho MS Visual Studio 2008.
  • Mercurial Eclipse là một plugin nhà cung cấp nhóm Eclipse cho Eclipse 3.3 và mới hơn.

Các lựa chọn thay thế để chạy Git bằng GUI bao gồm:

  • git-cvsserver (mô phỏng máy chủ CVS, cho phép sử dụng máy khách Windows CVS)
  • Máy khách Git dựa trên IDE của Eclipse, dựa trên một triển khai Java thuần túy của các phần tử Git: egit
  • Hỗ trợ NetBeans IDE cho Git đang được phát triển.
  • Một tiện ích mở rộng Windows Explorer (một cái nhìn giống rùaCVS / TortoiseSVN) đã được bắt đầu tại Tiện ích mở rộng TortoiseGit và Git, một tiện ích mở rộng trình duyệt cũng như GUI độc lập và Trình cắm Visual Studio 2008

Video liên quan

Người giới thiệu

  • wikipedia: Git_ (phần mềm)
  • wikipedia: Mercurial_ (phần mềm)
  • Nhà phát triển Mercurial Martin Geisler so sánh các tính năng của Git và Mercural chuyên sâu