Mercurial vs. Git

Mercurial vs. Git

Git Und Quecksilber sind beide kostenlose Softwaretools für verteilte Revisionskontrolle und Software -Quellcodeverwaltung.

Sowohl Git als auch Mercurial wurden ungefähr zur gleichen Zeit mit ähnlichen Zielen begonnen. Der unmittelbare Anreiz war die Ankündigung im April 2005 von Bitmover, dass sie die freie Version von Bitkeeper zurückzog, die für die Versionskontrollanforderungen des Linux -Kernelprojekts verwendet wurde. Mercurial Creator Matt Mackall beschloss, ein verteiltes Versionskontrollsystem als Ersatz für die Verwendung mit dem Linux -Kernel zu schreiben. Mackall kündigte zum ersten Mal Mercurial am 19. April 2005 an.

Git wurde von Linus Torvalds für Linux -Kernelentwicklung erstellt, wobei der Schwerpunkt darauf liegt, schnell zu sein. Die Entwicklung von Git begann am 3. April 2005. Das Projekt wurde am 6. April angekündigt und wurde am 7. April Selbsthosting. Die erste Zusammenführung mehrerer Niederlassungen wurde am 18. April abgeschlossen.

Das Linux -Kernel -Projekt entschied sich eher für Git als Mercurial, aber Mercurial wird jetzt von vielen anderen Projekten verwendet.

Vergleichstabelle

Unterschiede - Ähnlichkeiten - Git versus Mercurial -Vergleichstabelle
GitQuecksilber
  • Die aktuelle Bewertung beträgt 3.95/5
  • 1
  • 2
  • 3
  • 4
  • 5
(110 Bewertungen)
  • Die aktuelle Bewertung beträgt 4.15/5
  • 1
  • 2
  • 3
  • 4
  • 5
(110 Bewertungen)
Eingebauter Webserver NEIN Ja
Pre/Post-Event-Haken Ja Ja
Ende der Linienkonvertierungen Ja Ja
Stichworte Ja Ja
Internationale Unterstützung Teilweise Ja
Datei umbenannt Ja (implizit) Ja
Fusion Datei umbenannt Ja Ja
Symbolische Links Ja Ja
Open Source Ja Ja
Unterzeichnete Überarbeitungen Ja Ja
Revisions -IDs SHA-1 Hashes Zahlen, SHA-1-Hashes
Atomic Commits Ja Ja
Geschichtsmodell Schnappschuss Wechselnset
Repository -Größe O (Patch) (Big O Notation) O (Patch) (Big O Notation)
Parallelitätsmodell Verschmelzen Verschmelzen
Betriebssysteme Unix-artig, Windows, Mac OS X Unix-artig, Windows, Mac OS X
Bühnenbereich Ja NEIN
Externe Zweig Ja NEIN
Kosten Frei Frei
RCS -Schlüsselwort Ja, aber nicht empfohlen über ein gebündeltes Plugin
Flache Kasse / Klon Ja Bugzilla -Erweiterung
Datei-/Dire -Name -Tracking Erkennung umbenennen Umbenennen von Tracking
Unterverzeichnis Checkout/Klon NEIN NEIN
Repository -Modell Verteilt Verteilt
Erlaubnisbehaltung Nur Ausführungsbit Nur Ausführungsbit
Netzwerkprotokolle benutzerdefiniert, individuell über SSH, RSYNC, HTTP, E -Mail -Bundles HTTP, individuell über SSH, E -Mail -Bündel (mit Standard -Plugin)
Entwickelt von Junio ​​Hamano, Linus Torvalds Matt Mackall
Instandgehalten von Junio ​​Hamano Matt Mackall
Geschrieben in C, Bourne Shell, Perl Python und c
Verfolgung verschmelzen Ja Ja
Integration von Bug Tracker NEIN Trac (über Plugin)
Lizenz GPL v2 GPL v2
Webseite Git-SCM.com www.selenisch.com/mercurial
Betriebssystem POSIX, schlechtere Windows -Unterstützung Unix-artig, Windows, Mac OS X
Einführung (aus Wikipedia) Git ist ein kostenloses Distributed Revision Control oder Software Quell Code Management -Projekt mit Schwerpunkt darauf, schnell zu sein. Git wurde ursprünglich von Linus Torvalds für Linux -Kernelentwicklung erstellt. Mercurial ist ein plattformübergreifendes, verteiltes Revisionskontrollwerkzeug für Softwareentwickler. Es wird hauptsächlich mit der Python -Programmiersprache implementiert, enthält jedoch eine binäre Diff -Implementierung, die in C geschrieben wurde.
Typ Revisionskontrolle Revisionskontrolle

Designziele

Zu den wichtigsten Designzielen von Mercurial gehören hohe Leistung, Skalierbarkeit, ein serverloser, vollständig verteilter kollaborativer Entwicklung, robuster Handhabung sowohl klarer Text-. Es enthält eine integrierte Weboberfläche.

Eines der wichtigsten Konstruktionsziele von Linus Torvalds für GIT war die Geschwindigkeit und Effizienz des Betriebs. Weitere Konstruktionskriterien waren starke Schutzmaßnahmen gegen Korruption, entweder zufällig oder bösartig.

Projekte mit Git vs -Projekten mit Mercurial verwenden

Mehrere hochkarätige Softwareprojekte verwenden nun Git für die Revisionskontrolle, insbesondere den Linux-Kernel, Perl, Samba, x.Org -Server, QT (Toolkit), ein Laptop pro Kinder (OLPC) -Kernentwicklung, Ruby on Rails Web Framework, VLC, Yui, Merb, Wine, SWI Prolog, Gnome, Gstreamer, Dragonfly BSD und die mobile Android -Plattform.

Projekte, die Mercurial verwenden, umfassen Adblock Plus, Aldrin, kühn, Dovecot IMAP -Server, GNU Octave, NXOS, Nuxeo, Growl, Moinmoin Wiki Software, Mozilla, Mutt (E -Mail -Client), Netbeans (IDE), OpenJDK, Python, Suns Microsystemis OpenSolaris, OpenSolaris, Sun Microsystemis, OpenSolaris, OpenSolaris, Sun Microsystemis, OpenSolaris, OpenSolaris, Sun Microsystemis, OpenSolaris und die OpenSource -Software von Oracle wie BTRFS.

Git gegen Quecksilbertragabilität

Mercurial wurde ursprünglich geschrieben, um unter Linux zu laufen. Es wurde auf Windows, Mac OS X und die meisten anderen Unix-ähnlichen Systeme portiert. Mercurial ist in erster Linie ein Befehlszeilenprogramm.

Git ist in erster Linie auf Linux entwickelt, kann jedoch auf anderen UNIX-ähnlichen Betriebssystemen wie BSD und Solaris verwendet werden.

Git läuft auch unter Windows. Es gibt zwei Varianten:

  • Ein nationaler Microsoft Windows -Port namens MSYSGIT nähert sich der Fertigstellung. Ab Februar 2009 sind herunterladbare Installateure zum Testen bereit, einige Befehle noch nicht aus der GUIs verfügbar zu sein und müssen aus der Befehlszeile ausgerufen werden.
  • Git läuft auch über Cygwin (eine POSIX -Emulationsschicht), obwohl es merklich langsamer ist, insbesondere für Befehle, die als Shell -Skripte geschrieben wurden.

Benutzeroberfläche für Git vs Mercurial

Alle Operationen von Mercurial werden als Schlüsselwortoptionen für das Treiberprogramm HG aufgerufen, ein Hinweis auf das chemische Symbol des Element Mercury. GUI -Schnittstellen für Mercurial umfassen HGK (TCL/TK). Dies wird als Quecksilbererweiterung implementiert und ist Teil der offiziellen Version. Dieser Betrachter zeigt das gerichtete acyclische Graphen der Änderungen eines Quecksilber -Repositorys an. Dieser Betrachter kann über den Befehl 'HG -Ansicht' aufgerufen werden, wenn die Erweiterung aktiviert ist. HGK basierte ursprünglich auf einem ähnlichen Tool für Git namens Gitk. Es gibt einen HGK -Ersatz mit dem Namen HGView, der in reinem Python geschrieben ist und sowohl GTK- als auch QT -Schnittstellen bietet.

Verwandte Quecksilberwerkzeuge umfassen:

  • Zu den verwandten Tools für das Zusammenführen gehören (H) GCT (QT) und MELD.
  • Die Konvertitenerweiterung ermöglicht den Import von Lebensläufern, DARCS, Git, GNU Arch, Monoton und Subversion Repositories.
  • Netbeans IDE unterstützt Mercurial aus Version 6.
  • Tortoise HG bietet eine Windows-benutzerfreundliche, mit der rechten Messgerät mit der rechten Maustaste.
  • VisualHg ist ein Plugin für Mercurial Source Control Provider für MS Visual Studio 2008.
  • Mercurial Eclipse ist ein Eclipse Team Provider -Plugin für Eclipse 3.3 und neuer.

Alternativen zum Ausführen von Git mit einer GUI sind:

  • Git-CVSServer (der einen CVS-Server emuliert und die Verwendung von Windows CVS-Clients ermöglicht)
  • Eclipse IDE-basierter Git-Client, basierend auf einer reinen Java-Implementierung von Gits Interna: EGIT
  • Netbeans IDE -Unterstützung für GIT ist in der Entwicklung in der Entwicklung.
  • Eine Windows Explorer-Erweiterung (eine Schildisecvs/Tortoisesvn-Lookalike) wurde bei Tortoisegit- und Git-Erweiterungen gestartet, die eine Explorer-Erweiterung sowie eine eigenständige GUI und ein Visual Studio 2008-Plug-In sind

Ähnliche Videos