Also wenn git es tatsächlich erlaubt, mit simplen Befehlen das Repository derart zu zerstören, daß Commits auch auf dem Server entfernt werden können, dann bin ich froh bei Mercurial geblieben zu sein. Wollte zwar wegen meinem lokalen BitBucket auf Git umsteigen, aber mit hg-git komme ich dann weiterhin bestens zurecht.
Bei der Entscheidungsfindung hg oder git kam mir immer wieder mal das Grausen, was die git-Entwickler so für notwendig hielten...
Und was ist eigentlich dieses "auschecken"? Hg und git brauchen sowas doch gar nicht. Man Updatet auf einen Stand und wenn man fertig ist, wird gemerged und commite, oder meinetwegen ein Pull-Request geschickt.
Oh bitte hör auf, solchen Unsinn zu glauben oder weiter zu verbreiten. Es ist mit enormen Hürden verbunden, Commits auf dem Server zu überschreiben. Erstens sind die lokal immer noch vorhanden und werden nicht einfach vom nächsten git gc gelöscht und außerdem muss man für eine deratige Aktion bewusst einen force push machen - und je nach git Verwaltung kann man das verbieten.
Da ist es einfacher eine Datei mit Shift+Delete zu vernichten, so dass du irgendwelche Disk Tools bemühen musst, um sie wieder herzustellen.
git checkout ist nix anderes als auf einen bestimmten Branch zu wechseln - ich bin sicher, das kann man in Mercurial auch.