git și ager sunt instrumente de software gratuite pentru controlul reviziilor distribuite și managementul codului sursă software.
Atât Git cât și Mercurial au fost inițiate aproximativ în același timp cu scopuri similare. Stimularea imediată a fost anunțul din aprilie 2005 de către Bitmover că au retras versiunea gratuită BitKeeper, care a fost folosită pentru cerințele de control al versiunii proiectului kernel Linux. Creatorul Mercurial, Matt Mackall, a decis să scrie un sistem distribuit de control al versiunii ca înlocuitor pentru utilizarea cu kernel-ul Linux. Mackall a anunțat pentru prima dată Mercurial pe 19 aprilie 2005.
Git a fost creat de Linus Torvalds pentru dezvoltarea kernel-ului Linux, cu accent pe a fi rapid. Dezvoltarea Git a început la 3 aprilie 2005. Proiectul a fost anunțat pe 6 aprilie și a devenit auto-gazdă la data de 7 aprilie. Prima fuziune a mai multor sucursale a fost făcută pe 18 aprilie.
Proiectul kernel-ului Linux a decis să utilizeze Git mai degrabă decât Mercurial, dar Mercurial este acum utilizat de multe alte proiecte.
git | ager | |
---|---|---|
Server web încorporat | Nu | da |
Cârlige pre / post-eveniment | da | da |
Finalizarea conversiilor de linie | da | da |
Etichete | da | da |
Suport internațional | Parțial | da |
Fișierul redenumeste | Da (implicit) | da |
Îmbinați fișierul redenumiți | da | da |
Link-uri simbolice | da | da |
Sursa deschisa | da | da |
Revizuirile semnate | da | da |
ID-uri de revizie | SHA-1 hashes | Numere, SHA-1 hashes |
Atomic comite | da | da |
Model de istorie | Instantaneu | changeset |
Dimensiunea depozitului | O (patch-uri) (Notă mare O) | O (patch-uri) (Notă mare O) |
Modelul de concurs | contopi | contopi |
Sisteme de operare | Unix-like, Windows, Mac OS X | Unix-like, Windows, Mac OS X |
Zona de aterizare | da | Nu |
Externe ramură | da | Nu |
Cost | Liber | Liber |
Cuvânt cheie RCS | Da, dar nu este recomandat | prin plugin-ul inclus |
Plătește / clone de plată | da | Extensia Bugzilla |
Urmărire nume fișier / dir | Redenumiți detectarea | Redenumiți urmărirea |
Subdirectorul de control / clona | Nu | Nu |
Modelul depozitului | distribuit | distribuit |
Permiterea păstrării | Numai execuție bit | Numai execuție bit |
Protocoale de rețea | personalizat, personalizat peste ssh, rsync, HTTP, pachete de e-mail | HTTP, personalizat peste ssh, pachete de e-mail (cu plugin standard) |
Dezvoltat de | Junio Hamano, Linus Torvalds | Matt Mackall |
Întreținută de | Junio Hamano | Matt Mackall |
Scris in | C, Bourne Shell, Perl | Python și C |
Merge tracking | da | da |
Integrare cu Bug Tracker | Nu | Trac (prin plugin) |
Licență | GPL v2 | GPL v2 |
website | git-scm.com | www.selenic.com/mercurial |
OS | POSIX, suport Windows mai rău | Unix-like, Windows, Mac OS X |
Introducere (de la Wikipedia) | Git este un control de revizie distribuit gratuit sau un proiect de management al codului sursă al software-ului, cu accent pe a fi rapid. Git a fost inițial creat de Linus Torvalds pentru dezvoltarea kernel-ului Linux. | Mercurial este un instrument de control revizuit distribuit pentru dezvoltatori de software. Acesta este în principal implementat folosind limbajul de programare Python, dar include o implementare binară diff scrisă în C. |
Tip | Controlul reviziei | Controlul reviziei |
Obiectivele majore de design ale companiei Mercurial includ performanțe ridicate, scalabilitate, dezvoltare fără colaborare fără server, distribuție completă, manipulare robustă a fișierelor text și binare și capabilități avansate de ramificare și fuziune, rămânând în același timp simple. Acesta include o interfață web integrată.
Unul dintre obiectivele strategice ale lui Linus Torvalds pentru Git a fost viteza și eficiența operațiunilor. Alte criterii de proiectare au inclus garanții puternice împotriva corupției, fie accidentale, fie rău intenționate.
Câteva proiecte software de înaltă calitate utilizează acum Git pentru controlul reviziilor, în special kernel-ul Linux, Perl, Samba, X.org Server, Qt (toolkit), Dezvoltare de bază pentru un laptop pe copil (OLPC) , YUI, Merb, Wine, SWI Prolog, GNOME, GStreamer, DragonFly BSD și platforma mobilă Android.
Proiectele care folosesc Mercurial includ Adblock Plus, Aldrin, Audace, Dovecot IMAP server, GNU Octave, NxOS, Nuxeo, Growl, MoinMoin wiki, Mozilla, Mutt, Netbeans, OpenJDK, și Oracle's Opensource Software ca Btrfs.
Mercurial a fost inițial scris pentru a rula pe Linux. Acesta a fost portat la Windows, Mac OS X și la majoritatea sistemelor de tip Unix. Mercurial este în primul rând un program de linie de comandă.
Git este dezvoltat în principal pe Linux, dar poate fi folosit și pe alte sisteme de operare asemănătoare Unixului, inclusiv BSD și Solaris.
Git rulează și pe Windows. Există două variante:
Toate operațiunile Mercurial sunt invocate ca opțiuni de cuvinte cheie pentru programul său de conducere hg, o referință la simbolul chimic al elementului mercur. Interfețele GUI pentru Mercurial includ Hgk (Tcl / Tk). Aceasta este implementată ca extensie Mercurial și face parte din versiunea oficială. Acest vizualizator afișează graficul aciclic direcționat al seturilor de modificări ale unui depozit Mercurial. Acest vizualizator poate fi invocat prin intermediul comenzii "hg view", dacă extensia este activată. hgk a fost inițial bazat pe un instrument similar pentru git numit gitk. Există o înlocuire hgk numită hgview care este scrisă în Python pur și oferă atât interfețe gtk cât și qt.
Instrumentele legate de Mercurial includ:
Alternativele pentru rularea Git folosind un GUI includ: