Git og Mercurial er begge gratis programvareverktøy for distribuert revisjonskontroll og programvarekildekodeadministrasjon.
Både Git og Mercurial ble startet på omtrent samme tid med lignende mål. Den umiddelbare stimulansen var kunngjøringen i april 2005 av Bitmover at de tok ut den gratis versjonen av BitKeeper, som hadde blitt brukt til versjonskontrollkravene til Linux-kjerneprosjektet. Merkurisk skaperen Matt Mackall bestemte seg for å skrive et distribuert versjonskontrollsystem som en erstatning for bruk med Linux-kjernen. Mackall annonserte først Mercurial 19. april 2005.
Git ble opprettet av Linus Torvalds for Linux-kjerneutvikling, med vekt på å være rask. Utviklingen av Git startet 3. april 2005. Prosjektet ble annonsert 6. april, og ble selvfirming fra 7. april. Den første sammenslåingen av flere grener ble gjort 18. april.
Linux-kjerneprosjektet bestemte seg for å bruke Git i stedet for Mercurial, men Mercurial brukes nå av mange andre prosjekter.
Git | Mercurial | |
---|---|---|
Innebygd webserver | Nei | Ja |
Pre / post-event kroker | Ja | Ja |
End of line conversions | Ja | Ja |
Tags | Ja | Ja |
Internasjonal støtte | Delvis | Ja |
Filenavn | Ja (implisitt) | Ja |
Merge filnavn | Ja | Ja |
Symboliske lenker | Ja | Ja |
Åpen kilde | Ja | Ja |
Signerte revisjoner | Ja | Ja |
Revisjons-IDer | SHA-1 hashes | Tall, SHA-1 hashes |
Atomen forplikter seg | Ja | Ja |
Historiemodell | snapshot | forandrings |
Oppbevaringsstørrelse | O (patch) (Big O notation) | O (patch) (Big O notation) |
Sammenligningsmodell | Slå sammen | Slå sammen |
Operativsystemer | Unix-lignende, Windows, Mac OS X | Unix-lignende, Windows, Mac OS X |
Scene område | Ja | Nei |
Externals filial | Ja | Nei |
Koste | Gratis | Gratis |
RCS Søkeord | Ja, men ikke anbefalt | via kombinert plugin |
Kort utskrift / klon | Ja | Bugzilla forlengelse |
Fil / dir navn sporing | Gi nytt navn til deteksjon | Gi nytt navn til sporing |
Underkatalog kasse / klon | Nei | Nei |
Repository modell | distribuert | distribuert |
Tillatelse å holde | Bare utførelsesbit | Bare utførelsesbit |
Nettverksprotokoller | tilpasset, tilpasset over ssh, rsync, HTTP, e-buntpakker | HTTP, tilpasset over ssh, e-bunnpakker (med standard plugin) |
Utviklet av | Junio Hamano, Linus Torvalds | Matt Mackall |
Vedlikeholdt av | Junio Hamano | Matt Mackall |
Skrevet i | C, Bourne Shell, Perl | Python og C. |
Merge sporing | Ja | Ja |
Bug Tracker integrasjon | Nei | Trac (via plugin) |
Tillatelse | GPL v2 | GPL v2 |
nettsted | git-scm.com | www.selenic.com/mercurial |
OS | POSIX, verre Windows-støtte | Unix-lignende, Windows, Mac OS X |
Innledning (fra Wikipedia) | Git er en gratis distribuert revisjonskontroll, eller programvare kildekode management prosjekt med vekt på å være rask. Git ble opprinnelig opprettet av Linus Torvalds for Linux-kjerneutvikling. | Mercurial er et kryptert plattform, distribuert revisjonskontrollverktøy for programvareutviklere. Det implementeres hovedsakelig ved hjelp av Python programmeringsspråk, men inkluderer en binær diff-implementering skrevet i C. |
Type | Revisjonskontroll | Revisjonskontroll |
Mercurials store designmål inkluderer høy ytelse, skalerbarhet, serverløs, fullt distribuert samarbeidsutvikling, robust håndtering av både ren tekst og binære filer, og avanserte forgrenings- og fusjonsfunksjoner, mens de gjenstår konseptuelt enkelt. Den inneholder et integrert webgrensesnitt.
Et av Linus Torvalds 'hoveddesignmål for Git var hastighet og effektivitet i driften. Andre designkriterier omfattet sterke beskyttelser mot korrupsjon, enten tilfeldig eller skadelig.
Flere høyprofilerte programvareprosjekter bruker nå Git for revisjonskontroll, spesielt Linux-kjernen, Perl, Samba, X.org Server, Qt (verktøykasse), One Laptop per Child (OLPC) kjernevirksomhet, Ruby on Rails webramme, VLC , YUI, Merb, Vin, SWI Prolog, GNOME, GStreamer, DragonFly BSD og Android mobil plattform.
Prosjekter som bruker Mercurial inkluderer Adblock Plus, Aldrin, Audacious, Dovecot IMAP-server, GNU Octave, NxOS, Nuxeo, Growl, MoinMoin wiki-programvare, Mozilla, Mutt (e-postklient), Netbeans (IDE), OpenJDK, Python, SAGE, Sun Microsystems OpenSolaris og Oracle's Opensource Software som Btrfs.
Mercurial ble opprinnelig skrevet for å kjøre på Linux. Den har blitt sendt til Windows, Mac OS X og de fleste andre Unix-lignende systemer. Mercurial er først og fremst et kommandolinjeprogram.
Git er først og fremst utviklet på Linux, men kan brukes på andre Unix-lignende operativsystemer, inkludert BSD og Solaris.
Git kjører også på Windows. Det finnes to varianter:
Alle Mercurials operasjoner er påkrevd som søkeordalternativer til driverprogrammet hg, en referanse til det kjemiske symbolet til elementet kvikksølv. GUI-grensesnitt for Mercurial inkluderer Hgk (Tcl / Tk). Dette implementeres som en Mercurial forlengelse, og er en del av den offisielle versjonen. Denne seeren viser den regisserte acykliske grafen for endringssettene til et Mercurial-lager. Denne seeren kan påberopes via kommandoen 'hg view', hvis utvidelsen er aktivert. hgk var opprinnelig basert på et lignende verktøy for git-kalt gitk. Det er hgk erstatning heter hgview som er skrevet i ren python og gir både gtk og qt grensesnitt.
Relaterte Mercurial verktøy inkluderer:
Alternativer for å kjøre Git ved hjelp av en GUI inkluderer: