Jak wiele osób sugerowało, Mercurial za pośrednictwem TortoiseHg ma bardzo niską barierę wejścia.
Dla tych w systemie Windows jest to pojedynczy instalator zamiast dwóch instalatorów (i cała masa rzeczy, o których mogliby nie chcieć się uczyć), a interfejs użytkownika THg jest znacznie bardziej dopracowany niż TortoiseGit + Msysgit .
Anonimowe głowy
Jeśli sądzisz, że pomylą ich anonimowe głowy, nie zachęcaj ich do używania. Większość hg
książek przyjmuje zrównoważone podejście i uczy zarówno topologicznych, jak i nazwanych gałęzi, i pozwala czytelnikowi określić, który jest najbardziej odpowiedni do ich użycia.
Nazwane oddziały
Jedna rzecz, którą naprawdę brakuje w git
to hg
„s wymienione gałęzie , tak że jedna opcja. git
gałęzie są w porządku, gdy nad nimi pracujesz, ale po scaleniu tej pracy z inną gałęzią tracisz znaczną część kontekstu dla tych zmian.
W hg
możesz utworzyć oddział o nazwie Jira#1234
i zawsze być w stanie znaleźć wszystkie poprawki związane z tą poprawką . W git
raz twój oddział jest scalona i sędzia usunięte, trzeba wnosić poprawki, które były częścią poprawki od topologii drzewa rewizyjnej. Nawet jeśli nie usuniesz referencji, nadal wiesz tylko ostatnie zatwierdzenie w tej gałęzi, a nie który z jej przodków był częścią tego łańcucha zatwierdzeń.
Zakładki
Alternatywnie, jeśli nie chcesz używać nazwanych gałęzi, ale chcesz mieć git
styl pracy z anonimowymi gałęziami, możesz zamiast tego użyć zakładek .
Może to być najlepsze z obu światów - uczą się git
przepływu pracy, ale mogą korzystać z prostszych hg
poleceń.
Indeks / pamięć podręczna / obszar przejściowy
Osobiście uważam, że uczniowie są znacznie bardziej zdezorientowani przez git
indeks / pamięć podręczną / obszar postoju niż przez hg
anonimowe głowy. Zdecydowanie wolę, hg
aby ta zaawansowana funkcjonalność była opcjonalna w wierszu poleceń, a przy okazji git
zakładam, że zawsze chcesz / musisz z niej korzystać.
Myślę też, że obszar inscenizacji zachęca do zatwierdzeń, które nie zostały przetestowane ani nawet skompilowane. Ponieważ w wielu miejscach, w których pracowałem, nie było zatwierdzania, jeśli nie kompiluje reguły, wolałbym odkładać / ukrywać zmiany, których nie chcę teraz, ponownie uruchomić testy jednostkowe i zatwierdzić wersję, która Znam kompilacje.
Kiedy później przyjdziesz do śledzenia błędu za pomocą hg bisect lub git bisect , podziękujesz sobie, że możesz przetestować wszystkie wersje, nie tylko te, które się kompilują.