726 Stimmen

Was ist der Unterschied zwischen Mercurial und Git?

Ich verwende Git schon seit einiger Zeit unter Windows (mit msysGit) und ich mag die Idee der verteilten Quellcodekontrolle. Vor kurzem habe ich mir Mercurial (hg) angeschaut und es sieht interessant aus. Allerdings kann ich die Unterschiede zwischen hg und git nicht ganz nachvollziehen.

Hat jemand einen direkten Vergleich zwischen git und hg gemacht? Ich würde gerne wissen, was hg und git unterscheidet, ohne in eine Fanboy-Diskussion zu geraten.

2voto

Konstantin Punkte 21

Ein weiterer interessanter Vergleich zwischen Mercurial und Git: Mercurial vs. Git . Der Schwerpunkt liegt auf den Interna und ihrem Einfluss auf den Verzweigungsprozess.

2voto

static_rtti Punkte 50003

Die Mercurial-Website hat eine gute Beschreibung der Gemeinsamkeiten und Unterschiede zwischen den beiden Systemen, wobei die Unterschiede im Vokabular und den zugrunde liegenden Konzepten erläutert werden. Als langjähriger Git-Nutzer hat es mir wirklich geholfen, die Denkweise von Mercurial zu verstehen.

2voto

johndodo Punkte 15249

Wenn Sie von SVN umsteigen, verwenden Sie Mercurial, da die Syntax für SVN-Benutzer viel verständlicher ist. Ansonsten können Sie mit beiden Programmen nichts falsch machen. Aber prüfen Sie GIT-Anleitung y HGinit bevor Sie einen von ihnen auswählen.

1voto

NewUser Punkte 12125

Dieser Link kann Ihnen helfen, den Unterschied zu verstehen http://www.techtatva.com/2010/09/git-mercurial-and-bazaar-a-comparison/

1voto

Kostas Punkte 1232

Manche Leute denken, dass VCS-Systeme kompliziert sein müssen. Sie ermutigen dazu, Begriffe und Konzepte auf dem Gebiet zu erfinden. Sie würden wahrscheinlich denken, dass zahlreiche Promotionen zu diesem Thema interessant wären. Darunter sind wahrscheinlich auch diejenigen, die Git entwickelt haben.

Mercurial ist mit einer anderen Mentalität konzipiert. Entwickler sollten sich nicht viel um VCS kümmern und stattdessen ihre Zeit mit ihrer Hauptaufgabe verbringen: der Softwareentwicklung. Mercurial erlaubt es den Nutzern, das System zu verwenden und fröhlich zu missbrauchen, ohne dass sie nicht wiederherstellbare Fehler machen können.

Ein professionelles Tool muss mit einer übersichtlichen und intuitiven CLI ausgestattet sein. Mercurial-Benutzer können die meiste Arbeit mit einfachen Befehlen ohne seltsame Optionen erledigen. In Git double dash sind verrückte Optionen die Norm. Mercurial hat einen wesentlichen Vorteil, wenn Sie eine CLI-Person sind (und um ehrlich zu sein, sollte das jeder Software-Ingenieur sein, der etwas auf sich hält).

Ein Beispiel: Nehmen wir an, Sie führen versehentlich eine Übertragung durch. Sie haben vergessen, einige Dateien zu bearbeiten. Um Ihre Aktion in Mercurial rückgängig zu machen, geben Sie einfach ein:

$ hg rollback

Sie erhalten dann eine Meldung, dass das System Ihre letzte Transaktion rückgängig macht.

In Git müssen Sie tippen:

$ git reset --soft HEAD^

Sie können sich also vorstellen, worum es beim Zurücksetzen geht. Aber außerdem müssen Sie wissen, was "-soft" und "-hard" Resets sind (haben Sie eine Ahnung?). Oh, und natürlich darfst du das '^'-Zeichen am Ende nicht vergessen! (was in Ritchies Namen ist das denn nun...)

Die Integration von Mercurial mit Drittanbieter-Tools wie kdiff3 und meld ist ebenfalls viel besser. Erzeugen Sie Ihre Patches und fügen Sie Ihre Zweige ohne viel Aufhebens zusammen. Mercurial enthält auch einen einfachen http-Server, den Sie durch Eingabe von

hg serve

Und lassen Sie andere Ihr Repository durchsuchen.

Unterm Strich tut Git das, was Mercurial tut, nur auf viel kompliziertere Weise und mit einer weitaus schlechteren CLI. Verwenden Sie Git, wenn Sie das VCS Ihres Projekts in ein wissenschaftliches Forschungsgebiet verwandeln wollen. Verwenden Sie Mercurial, wenn Sie das VCS erledigen wollen, ohne sich groß darum zu kümmern, und sich auf Ihre eigentlichen Aufgaben konzentrieren wollen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X