Mercurial vs. Git
- 2182
- 197
- Hugo Poehn
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 | Quecksilber | |
---|---|---|
|
| |
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