Như nhiều người đã đề xuất, Mercurial thông qua TortoiseHg có rào cản rất thấp để vào.
Đối với những người dùng trên Windows, đó là một trình cài đặt duy nhất chứ không phải hai trình cài đặt (và toàn bộ nội dung mà họ có thể không muốn tìm hiểu) và giao diện người dùng THg bóng bẩy hơn nhiều so với TortoiseGit + Msysgit .
Người đứng đầu ẩn danh
Nếu bạn nghĩ rằng họ sẽ bị nhầm lẫn bởi những người đứng đầu ẩn danh, thì đừng khuyến khích họ sử dụng. Hầu hết các hg
cuốn sách có một cách tiếp cận cân bằng và dạy cả hai nhánh tôpô và có tên, và để người đọc xác định cái nào phù hợp nhất cho việc sử dụng chúng.
Chi nhánh được đặt tên
Một điều tôi thực sự nhớ git
là hg
các nhánh được đặt tên , vì vậy đó là một lựa chọn. git
các nhánh vẫn ổn trong khi bạn đang làm việc với chúng, nhưng một khi bạn đã hợp nhất công việc đó vào một nhánh khác, bạn sẽ mất nhiều bối cảnh cho những thay đổi đó.
Trong hg
bạn có thể tạo một nhánh được gọi Jira#1234
và luôn có thể tìm thấy tất cả các sửa đổi liên quan đến sửa chữa đó . Trong git
, một khi chi nhánh của bạn được hợp nhất và ref bị xóa, bạn phải suy ra bản sửa đổi nào là một phần của bản sửa lỗi từ cấu trúc liên kết của cây sửa đổi. Ngay cả khi bạn không xóa ref, bạn vẫn chỉ biết cam kết cuối cùng trên nhánh đó, chứ không phải tổ tiên của nó là một phần của chuỗi cam kết đó.
Dấu trang
Ngoài ra, nếu bạn không muốn sử dụng các nhánh được đặt tên, nhưng muốn một git
quy trình làm việc theo phong cách với các nhánh ẩn danh của mình, thì bạn có thể sử dụng dấu trang thay thế.
Điều này có thể là tốt nhất của cả hai thế giới - họ có thể học một git
quy trình công việc, nhưng có thể sử dụng các hg
lệnh đơn giản hơn .
Khu vực Index / Cache / Staging
Cá nhân, tôi nghĩ rằng các sinh viên có nhiều khả năng bị nhầm lẫn bởi khu vực git
chỉ mục / bộ nhớ cache / khu vực so với hg
các đầu ẩn danh. Tôi rất thích hg
làm cho chức năng nâng cao này tùy chọn trên dòng lệnh, theo cách git
giả định bạn luôn muốn / cần sử dụng nó.
Tôi cũng nghĩ rằng khu vực tổ chức khuyến khích các cam kết chưa được thử nghiệm hoặc thậm chí được biên soạn. Vì nhiều trong những nơi tôi đã làm việc đã có một không cam kết nếu nó không biên dịch quy tắc, tôi sẽ có nhiều thay xiên / stash thay đổi Tôi không muốn ngay bây giờ, kiểm tra đơn vị tái chạy và cam kết một phiên bản Tôi biết biên dịch.
Khi bạn đến sau để theo dõi một lỗi bằng cách sử dụng hg bisect hoặc git bisect , bạn sẽ cảm ơn chính mình rằng bạn có thể kiểm tra tất cả các bản sửa đổi, không chỉ các bản sửa đổi.