Mercurial vs. Git
- 2633
- 281
- Hilarion Porębski
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 | Bystry | |
---|---|---|
|
| |
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