Git och Mercurial är båda gratis programvaruverktyg för distribuerad revisionskontroll och programkodkodshantering.
Både Git och Mercurial startades ungefär samtidigt med liknande mål. Den omedelbara stimulansen var tillkännagivandet i april 2005 av Bitmover att de tog ut den fria versionen av BitKeeper, som hade använts för Linux-kärnprojektets versionsstyrningskrav. Mercurial skaparen Matt Mackall bestämde sig för att skriva ett distribuerat versionsstyrningssystem som ersättare för användning med Linux-kärnan. Mackall annonserade först Mercurial den 19 april 2005.
Git skapades av Linus Torvalds för Linux-kärnutveckling, med betoning på att vara snabb. Utvecklingen av Git började den 3 april 2005. Projektet meddelades den 6 april och blev självhäftande från och med den 7 april. Den första sammanslagningen av flera grenar gjordes den 18 april.
Linux-kärnprojektet bestämde sig för att använda Git snarare än Mercurial, men Mercurial används nu av många andra projekt.
Git | Mercurial | |
---|---|---|
Inbyggd webbserver | Nej | Ja |
Före / efter-händelse krokar | Ja | Ja |
Slut på radkonverteringar | Ja | Ja |
Tags | Ja | Ja |
Internationellt stöd | Partiell | Ja |
Filnamn | Ja (implicit) | Ja |
Sammanfoga filnamn | Ja | Ja |
Symboliska länkar | Ja | Ja |
Öppen källa | Ja | Ja |
Undertecknade revideringar | Ja | Ja |
Revisions-ID | SHA-1 hashes | Numbers, SHA-1 hashes |
Atomen förbinder sig | Ja | Ja |
Historiemodell | Snapshot | ändringsset |
Förvaringsstorlek | O (patch) (Big O notation) | O (patch) (Big O notation) |
Likviditetsmodell | Sammanfoga | Sammanfoga |
Operativsystem | Unix-liknande, Windows, Mac OS X | Unix-liknande, Windows, Mac OS X |
Staging område | Ja | Nej |
Externals filial | Ja | Nej |
Kosta | Fri | Fri |
RCS-nyckelord | Ja, men rekommenderas inte | via buntad plugin |
Kort utcheckning / klon | Ja | Bugzilla förlängning |
Fil / dir namn spårning | Byt namn på detektering | Byt namn på spårning |
Underkatalogskontroll / klon | Nej | Nej |
Repository modell | Distribuerad | Distribuerad |
Beviljande av tillstånd | Endast exekveringsbit | Endast exekveringsbit |
Nätverksprotokoll | anpassad, anpassad över ssh, rsync, HTTP, e-buntbuntar | HTTP, anpassad över ssh, e-buntar (med standard plugin) |
Utvecklad av | Junio Hamano, Linus Torvalds | Matt Mackall |
Underhållen av | Junio Hamano | Matt Mackall |
Skrivet i | C, Bourne Shell, Perl | Python och C. |
Sammanfoga spårning | Ja | Ja |
Bug Tracker integration | Nej | Trac (via plugin) |
Licens | GPL v2 | GPL v2 |
Hemsida | git-scm.com | www.selenic.com/mercurial |
OS | POSIX, sämre Windows-support | Unix-liknande, Windows, Mac OS X |
Introduktion (från Wikipedia) | Git är en fritt distribuerad revisionskontroll eller ett program för källkoden för programkod med betoning på att vara snabb. Git skapades ursprungligen av Linus Torvalds för Linux-kärnutveckling. | Mercurial är ett plattformsplattform, distribuerat revisionsverktyg för programutvecklare. Det implementeras huvudsakligen med Python programmeringsspråk, men innehåller en binär diff-implementering som skrivs i C. |
Typ | Revisionskontroll | Revisionskontroll |
Mercurials stora designmål inkluderar högpresterande, skalbarhet, serverlösa, helt distribuerad samarbetsutveckling, robust hantering av både ren text och binära filer och avancerade förgrenings- och sammanslagningsegenskaper, medan de återstår konceptuellt enkla. Den innehåller ett integrerat webbgränssnitt.
Ett av Linus Torvalds 'nyckeldesignsmål för Git var snabbhet och effektivitet i verksamheten. Andra designkriterier inkluderade starka skydd mot korruption, oavsiktligt eller skadligt.
Flera högprofilerade mjukvaruprojekt använder nu Git för revisionskontroll, i synnerhet Linux-kärnan, Perl, Samba, X.org Server, Qt (verktygsverktyg), En bärbar dator per barns (OLPC) kärnutveckling, Ruby on Rails Web Framework, VLC , YUI, Merb, Vin, SWI Prolog, GNOME, GStreamer, DragonFly BSD och Android-mobilplattformen.
Projekt som använder Mercurial inkluderar Adblock Plus, Aldrin, Audacious, Dovecot IMAP-server, GNU Octave, NxOS, Nuxeo, Growl, MoinMoin wiki-programvara, Mozilla, Mutt (e-postklient), Netbeans (IDE), OpenJDK, Python, SAGE, Sun Microsystems OpenSolaris och Oracle's Opensource Software som Btrfs.
Mercurial var ursprungligen skrivet för att köras på Linux. Det har blivit portat till Windows, Mac OS X och de flesta andra Unix-liknande system. Mercurial är främst ett kommandoradsprogram.
Git utvecklas huvudsakligen på Linux, men kan användas på andra Unix-liknande operativsystem inklusive BSD och Solaris.
Git körs också på Windows. Det finns två varianter:
Alla Mercurials operationer åberopas som nyckelord alternativ till dess drivrutinsprogram hg, en hänvisning till kemikalie symbolen för elementet kvicksilver. GUI-gränssnitt för Mercurial inkluderar Hgk (Tcl / Tk). Detta implementeras som en Mercurial förlängning, och ingår i den officiella versionen. Denna tittare visar den riktade acykliska grafen för förändringsuppsättningarna i ett Mercurial-arkiv. Den här tittaren kan åberopas via kommandot "hg view", om förlängningen är aktiverad. hgk var ursprungligen baserat på ett liknande verktyg för git kallad gitk. Det finns hgk ersättare heter hgview som är skrivet i ren python och ger både gtk och qt gränssnitt.
Relaterade Mercurial-verktyg inkluderar:
Alternativ för att köra Git med hjälp av en GUI inkluderar: