Git en kwikmiddel zijn beide gratis softwaretools voor gedistribueerde revisiecontrole en broncodebeheer van software.
Zowel Git als Mercurial zijn op ongeveer hetzelfde tijdstip begonnen met vergelijkbare doelen. De directe stimulans was de aankondiging in april 2005 door Bitmover dat ze de gratis versie van BitKeeper, die was gebruikt voor de versiebeheervereisten van het Linux-kernelproject, terugtrokken. Mercurial-maker Matt Mackall besloot om een gedistribueerd versiecontrolesysteem te schrijven als vervanging voor gebruik met de Linux-kernel. Mackall heeft Mercurial voor het eerst aangekondigd op 19 april 2005.
Git is gemaakt door Linus Torvalds voor de ontwikkeling van Linux-kernel, met de nadruk op snel zijn. De ontwikkeling van Git begon op 3 april 2005. Het project werd aangekondigd op 6 april en werd self-hosting vanaf 7 april. De eerste fusie van meerdere vestigingen werd gedaan op 18 april.
Het Linux-kernelproject besloot om Git te gebruiken in plaats van Mercurial, maar Mercurial wordt nu door veel andere projecten gebruikt.
Git | kwikmiddel | |
---|---|---|
Ingebouwde webserver | Nee | Ja |
Pre / post-event hooks | Ja | Ja |
Einde van regelconversies | Ja | Ja |
Tags | Ja | Ja |
Internationale ondersteuning | partieel | Ja |
Bestandsnaam wijzigen | Ja (impliciet) | Ja |
Voeg bestandsnamen samen | Ja | Ja |
Symbolische links | Ja | Ja |
Open source | Ja | Ja |
Ondertekende Revisies | Ja | Ja |
Revisie-ID's | SHA-1 hashes | Nummers, SHA-1 hashes |
Atomic commits | Ja | Ja |
Historisch model | Momentopname | changeset |
Repository grootte | O (patch) (Big O-notatie) | O (patch) (Big O-notatie) |
Concurrency model | samensmelten | samensmelten |
Besturingssystemen | Unix-achtig, Windows, Mac OS X | Unix-achtig, Windows, Mac OS X |
Verzamelplaats | Ja | Nee |
Externals tak | Ja | Nee |
Kosten | Gratis | Gratis |
RCS-sleutelwoord | Ja, maar niet aanbevolen | via gebundelde plug-in |
Ondiepe checkout / kloon | Ja | Bugzilla-extensie |
Bestand / dir naam volgen | Hernoem detectie | Naam van tracking wijzigen |
Subdirectory checkout / kloon | Nee | Nee |
Repository model | Gedistribueerd | Gedistribueerd |
Toestemming houden | Alleen uitvoeringbit | Alleen uitvoeringbit |
Netwerkprotocollen | aangepast, aangepast via ssh, rsync, HTTP, e-mailbundels | HTTP, aangepast over SSH, e-mailbundels (met standaard plug-in) |
Ontwikkeld door | Junio Hamano, Linus Torvalds | Matt Mackall |
Onderhouden door | Junio Hamano | Matt Mackall |
Geschreven in | C, Bourne Shell, Perl | Python en C |
Voeg tracking samen | Ja | Ja |
Bug Tracker-integratie | Nee | Trac (via plugin) |
Licentie | GPL v2 | GPL v2 |
Website | git-scm.com | www.selenic.com/mercurial |
OS | POSIX, erger Windows-ondersteuning | Unix-achtig, Windows, Mac OS X |
Introductie (van Wikipedia) | Git is een gratis gedistribueerd revisiebeheer of softwarebroncodebeheerproject met de nadruk op snel zijn. Git is oorspronkelijk gemaakt door Linus Torvalds voor de ontwikkeling van Linux-kernel. | Mercurial is een platformonafhankelijk, gedistribueerd revisiebeheerprogramma voor softwareontwikkelaars. Het wordt voornamelijk geïmplementeerd met behulp van de programmeertaal Python, maar bevat een binaire diff-implementatie geschreven in C. |
Type | Revisie controle | Revisie controle |
De belangrijkste ontwerpdoelen van Mercurial omvatten hoge prestaties, schaalbaarheid, een serverloze, volledig gedistribueerde samenwerking, robuuste verwerking van zowel platte tekst als binaire bestanden en geavanceerde vertakkings- en samenvoegmogelijkheden, terwijl ze conceptueel eenvoudig blijven. Het bevat een geïntegreerde webinterface.
Een van Linus Torvalds 'belangrijkste ontwerpdoelen voor Git was snelheid en efficiëntie van operaties. Andere ontwerpcriteria omvatten krachtige beveiligingen tegen corruptie, hetzij per ongeluk of kwaadwillig.
Verschillende spraakmakende softwareprojecten gebruiken Git nu voor revisiebeheer, met name de Linux-kernel, Perl, Samba, X.org Server, Qt (toolkit), One Laptop per kind (OLPC) kernontwikkeling, Ruby on Rails web framework, VLC , YUI, Merb, Wine, SWI Prolog, GNOME, GStreamer, DragonFly BSD en het Android mobiele platform.
Projecten die Mercurial gebruiken zijn Adblock Plus, Aldrin, Audacious, Dovecot IMAP-server, GNU Octave, NxOS, Nuxeo, Growl, MoinMoin wiki-software, Mozilla, Mutt (e-mailclient), Netbeans (IDE), OpenJDK, Python, SAGE, OpenSolaris van Sun Microsystem en Oracle's Opensource Software zoals Btrfs.
Mercurial is oorspronkelijk geschreven om op Linux te worden uitgevoerd. Het is geporteerd naar Windows, Mac OS X en de meeste andere Unix-achtige systemen. Mercurial is voornamelijk een opdrachtregelprogramma.
Git is voornamelijk ontwikkeld op Linux, maar kan ook worden gebruikt op andere Unix-achtige besturingssystemen, waaronder BSD en Solaris.
Git werkt ook op Windows. Er zijn twee varianten:
Alle bewerkingen van Mercurial worden aangeroepen als trefwoordopties voor het stuurprogramma-programma hg, een verwijzing naar het chemische symbool van het element kwik. GUI-interfaces voor Mercurial omvatten Hgk (Tcl / Tk). Dit is geïmplementeerd als een Mercurial-extensie en maakt deel uit van de officiële versie. Deze kijker geeft de gerichte acyclische grafiek van de changesets van een Mercurial-repository weer. Deze kijker kan worden opgeroepen via de opdracht 'hg view', als de extensie is ingeschakeld. hgk was oorspronkelijk gebaseerd op een soortgelijke tool voor git, genaamd gitk. Er is hgk vervanging genaamd hgview dat is geschreven in pure python en biedt zowel gtk- als qt-interfaces.
Gerelateerde Mercurial-gereedschappen omvatten:
Alternatieven voor het uitvoeren van Git met behulp van een GUI zijn onder andere: