Mercurial vs. Git

Mercurial vs. Git

Git I Bystry są oba bezpłatne narzędzia programowe do rozproszonej kontroli rewizji i zarządzania kodem źródła oprogramowania.

Zarówno Git, jak i Mercurial rozpoczęto w przybliżeniu w tym samym czasie z podobnymi celami. Bezpośrednim bodźcem było ogłoszenie w kwietniu 2005 r. Przez Bitmover, że wycofali bezpłatną wersję Bitkeeper, która była używana do wymagań kontroli wersji projektu Kernela Linux. Kreator Mercurial Matt MacKall postanowił napisać rozproszony system kontroli wersji jako wymianę do użytku z jądrem Linux. MacKall po raz pierwszy ogłosił Mercurial 19 kwietnia 2005.

Git został stworzony przez Linusa Torvalds do rozwoju jądra Linux, z naciskiem na szybki. Rozwój GIT rozpoczął się 3 kwietnia 2005 r. Projekt został ogłoszony 6 kwietnia i stał się samowystarczalny od 7 kwietnia. Pierwsze połączenie wielu oddziałów zostało wykonane 18 kwietnia.

Projekt jądra Linux postanowił użyć git zamiast rtęci, ale Mercurial jest obecnie używany przez wiele innych projektów.

Wykres porównania

Różnice - podobieństwa - Git kontra wykres porównawczy
GitBystry
  • Obecna ocena to 3.95/5
  • 1
  • 2
  • 3
  • 4
  • 5
(110 ocen)
  • Obecna ocena to 4.15/5
  • 1
  • 2
  • 3
  • 4
  • 5
(110 ocen)
Wbudowany serwer WWW NIE Tak
Haczyki przed/po wydarzeniu Tak Tak
Koniec konwersji linii Tak Tak
Tagi Tak Tak
Wsparcie międzynarodowe Częściowy Tak
Zmieńce pliku Tak (ukryty) Tak
Scalanie nazw plików Tak Tak
Symboliczne linki Tak Tak
Otwarte źródło Tak Tak
Podpisane poprawki Tak Tak
Identyfikatory rewizji Hasze SHA-1 Liczby, hasze sha-1
Zobowiązania atomowe Tak Tak
Model historii Migawka Zmiany
Rozmiar repozytorium O (Patch) (duża notacja) O (Patch) (duża notacja)
Model współbieżności Łączyć Łączyć
System operacyjny UNIX, Windows, Mac OS X UNIX, Windows, Mac OS X
Obszar inscenizacji Tak NIE
Gałąź zewnętrzna Tak NIE
Koszt Bezpłatny Bezpłatny
Słowo kluczowe RCS Tak, ale nie zalecane za pośrednictwem pakietu wtyczki
Płytkie kasy / klon Tak Rozszerzenie Buzilla
Śledzenie nazwy pliku/reż Zmień nazwę wykrywania Zmień nazwę śledzenia
Kas NIE NIE
Model repozytorium Rozpowszechniane Rozpowszechniane
Utrzymanie pozwolenia Tylko bit wykonania Tylko bit wykonania
Protokoły sieciowe Niestandardowe, niestandardowe nad SSH, RSYNC, HTTP, pakiety e -mailowe HTTP, niestandardowe nad SSH, pakiety e -mail (ze standardową wtyczką)
Opracowany przez Junio ​​Hamano, Linus Torvalds Matt MacKall
Utrzymywane przez Junio ​​Hamano Matt MacKall
Napisane w C, Bourne Shell, Perl Python i c
Scalanie śledzenia Tak Tak
Integracja śledzenia błędów NIE TRAC (przez wtyczkę)
Licencja GPL v2 GPL v2
Strona internetowa git-scm.com www.Selenic.Com/Mercurial
OS POSIX, gorsza obsługa systemu Windows UNIX, Windows, Mac OS X
Wprowadzenie (z Wikipedii) GIT to bezpłatna rozproszona kontrola rewizji lub projekt zarządzania kodem źródła oprogramowania, z naciskiem na szybki. GIT został początkowo stworzony przez Linusa Torvaldsa dla rozwoju jądra Linux. Mercurial to międzyplatformowe, rozproszone narzędzie kontroli rewizji dla programistów oprogramowania. Jest wdrażany głównie przy użyciu języka programowania Python, ale zawiera binarną implementację różnicową napisaną w C.
Typ Kontrola rewizji Kontrola rewizji

Cele projektowe

Główne cele projektowe Mercurial obejmują wysoką wydajność, skalowalność, bycie bezserwerowym, w pełni rozpowszechnionym opracowywaniem współpracy, solidne obsługa zarówno plików tekstowych, jak i binarnych oraz zaawansowane możliwości rozgałęzienia i scalania, a jednocześnie pozostanie proste koncepcyjnie proste. Zawiera zintegrowany interfejs internetowy.

Jednym z kluczowych celów projektowych Linusa Torvaldsa dla GIT była szybkość i wydajność operacji. Inne kryteria projektowe obejmowały silne zabezpieczenia przed korupcją, przypadkowe lub złośliwe.

Projekty wykorzystujące projekty GIT vs przy użyciu Mercurial

Kilka głośnych projektów oprogramowania używa teraz GIT do kontroli rewizji, w szczególności jądro Linux, Perl, Samba, X.Org Server, QT (Toolkit), jeden laptop na dziecko (OLPC) Core Development, Ruby on Rails Web Framework, VLC, Yui, Merb, Wine, Swi, Gnome, Gstreamer, Dragonfly BSD i Android Mobile Platform.

Projekty korzystające z Mercurial obejmują AdBlock Plus, Aldrin, Audacious, Dovecot IMAP Server, GNU Octave, NXOS, Nuxeo, Growl, Moinmoin Wiki Software, Mozilla, Mutt (klient e -mail), NetBeans (IDE), OpenJDK, Python, Sage, Sag Microsystem i oprogramowanie Oracle OpenSource, takie jak BTRFS.

Git vs Mercurial Portability

Mercurial został początkowo napisany, aby działał w Linux. Został przeniesiony do systemu Windows, Mac OS X i większości innych systemów podobnych do UNIX. Mercurial to przede wszystkim program wiersza poleceń.

GIT jest opracowywana przede wszystkim w Linux, ale może być stosowany w innych systemach operacyjnych podobnych do UNIX, w tym BSD i Solaris.

Git działa również w systemie Windows. Istnieją dwa warianty:

  • Native Microsoft Windows Port o nazwie MSYSGIT zbliża się do zakończenia. Od lutego 2009 r.
  • Git działa również na Cygwin (warstwa emulacji POSIX), chociaż jest to zauważalnie wolniejsze, szczególnie w przypadku poleceń napisanych jako skontaktowanie.

Interfejs użytkownika dla GIT vs Mercurial

Wszystkie operacje Mercurial są wywoływane jako opcje słów kluczowych do swojego programu sterownika HG, odniesienie do symbolu chemicznego elementu Mercury. Interfejsy GUI dla rtęci obejmują HGK (TCL/TK). Jest to zaimplementowane jako rozszerzenie rtęciowe i jest częścią oficjalnej wersji. Ten przeglądek wyświetla ukierunkowany acykliczny wykres zmian repozytorium rtęciowego. Ten przeglądarka można wywołać za pomocą polecenia „HG View”, jeśli rozszerzenie jest włączone. HGK był pierwotnie oparty na podobnym narzędziu dla GIT o nazwie GITK. Istnieje wymiana HGK o nazwie HGView, która jest napisana w czystym Pythonie i zapewnia interfejsy GTK i QT.

Powiązane narzędzia rtęci obejmują:

  • Powiązane narzędzia do scalania obejmują (H) GCT (QT) i MELD.
  • Rozszerzenie konwersji umożliwia import z CVS, DARCS, GIT, GNU Arch, Monotone i Subversion Repozytoria.
  • NetBeans IDE obsługuje Mercurial z wersji 6.
  • Tortoise HG zapewnia przyjazny dla użytkownika interfejs menu w systemie Windows.
  • VisualHG to wtyczka dostawcy kontroli źródła rtęci dla MS Visual Studio 2008.
  • Mercurial Eclipse to wtyczka dostawcy zespołu Eclipse dla Eclipse 3.3 i nowsze.

Alternatywy dla uruchamiania git za pomocą GUI obejmują:

  • GIT-CVSSERVER (który emuluje serwer CVS, umożliwiając korzystanie z klientów Windows CVS)
  • Klient GIT oparty na Eclipse IDE, oparty na wdrożeniu czystej Java wewnętrznych GIT: EGIT
  • NetBeans IDE Wsparcie dla GIT jest w trakcie rozwoju.
  • Rozszerzenie Windows Explorer (Tortoisecvs/Tortoisesvn-Lookalike) zostało rozpoczęte w rozszerzeniach Tortoisegit i Git, które jest rozszerzeniem Explorer, a także samodzielnym GUI i wtyczką Visual Studio 2008 2008

Powiązane wideo