Wie viele Leute vorgeschlagen haben, Mercurial über TortoiseHg eine sehr niedrige Eintrittsbarriere.
Für diejenigen, die unter Windows arbeiten, ist es ein einzelner Installer anstatt zwei Installer (und eine ganze Menge Dinge, die sie vielleicht nicht lernen möchten), und die THg-Benutzeroberfläche ist viel ausgefeilter als TortoiseGit + Msysgit .
Anonyme Köpfe
Wenn Sie glauben, dass sie von anonymen Köpfen verwirrt werden, empfehlen Sie deren Verwendung nicht. Die meistenhg
Büchern wird ein ausgewogener Ansatz verfolgt, bei dem sowohl topologische als auch benannte Zweige vermittelt werden. Der Leser kann dann bestimmen, welche für seine Verwendung am besten geeignet sind.
Benannte Zweige
Eine Sache, die ich wirklich vermisse, git
sind hg
die benannten Zweige , das ist also eine Option.git
Zweige sind in Ordnung, während Sie daran arbeiten. Wenn Sie diese Arbeit jedoch zu einem anderen Zweig zusammengeführt haben, verlieren Sie einen Großteil des Kontexts für diese Änderungen.
In hg
könnten Sie einen Zweig namens erstellen Jira#1234
und immer in der Lage sein, alle mit diesem Fix verbundenen Revisionen zu finden . Imgit
, sobald Ihre Niederlassung in und der Schiedsrichter gelöscht zusammengeführt wird, müssen Sie folgern , welche Revisionen Teil des Updates von der Topologie des Revisionsbaum waren. Auch wenn Sie den Verweis nicht löschen, kennen Sie immer noch nur den letzten Commit für diesen Zweig, nicht den Vorfahren, der Teil dieser Commit-Kette war.
Lesezeichen
Alternativ können Sie Lesezeichen verwenden , wenn Sie keine benannten Zweige verwenden möchten, aber einen git
Stilworkflow mit anonymen Zweigen möchten stattdessen verwenden.
Dies könnte das Beste aus beiden Welten sein - sie lernen einen git
Workflow, können jedoch die einfacheren hg
Befehle verwenden.
Index / Cache / Staging-Bereich
Persönlich denke ich, dass Studenten viel eher durch den git
Index- / Cache- / Staging-Bereich verwirrt werden als durch hg
die anonymen Köpfe. Ich bevorzuge hg
es sehr , diese erweiterte Funktionalität in der Befehlszeile optional zu machen, anstatt git
davon auszugehen , dass Sie sie immer verwenden möchten / müssen.
Ich denke auch, dass der Staging-Bereich Commits fördert, die noch nicht getestet oder kompiliert wurden. Da viele der Orte , die ich gearbeitet habe hatte eine nicht begehen , wenn es nicht kompilieren lässt Regel, würde ich viel lieber shelve / Stash ändert Ich will nicht gerade jetzt, re-run Unit - Tests und begehen eine Version , dass Ich weiß, kompiliert.
Wenn Sie später einen Fehler mit hg bisect oder git bisect aufspüren , werden Sie sich bedanken, dass Sie alle Revisionen testen können, nicht nur die, die kompiliert werden.