Mercurial vs. Git

Git i Bystry są zarówno narzędziami bezpłatnego oprogramowania GitBystryWbudowany serwer internetowy Nie tak Haczyki przed / po zdarzeniu tak tak Konwersje na końcu linii tak tak Tagi tak tak Wsparcie międzynarodowe Częściowy tak Nazwy plików Tak (domyślnie) tak Scal nazwy plików tak tak Linki symboliczne tak tak Otwarte źródło tak tak Podpisane wersje tak tak Identyfikatory zmian Skróty SHA-1 Liczby, skróty SHA-1 Atomic commits tak tak Model historii Migawka Changeset Rozmiar repozytorium O (łatka) (notacja Big O) O (łatka) (notacja Big O) Model współbieżności Łączyć Łączyć System operacyjny Uniksowy, Windows, Mac OS X Uniksowy, Windows, Mac OS X Miejsce postoju tak Nie Oddział zewnętrzny tak Nie Koszt Darmowy Darmowy Słowo kluczowe RCS Tak, ale nie zalecane za pośrednictwem dołączonej wtyczki Płytka kasa / klon tak Rozszerzenie Bugzilla Śledzenie nazwy pliku / katalogu Zmień nazwę wykrywania Zmień nazwę śledzenia Pobieranie / klonowanie podkatalogu Nie Nie Model repozytorium Rozpowszechniane Rozpowszechniane Utrzymanie uprawnień Tylko bit wykonania Tylko bit wykonania Protokoły sieciowe niestandardowe, niestandardowe pakiety ssh, rsync, HTTP, e-mail HTTP, niestandardowe przez ssh, pakiety e-mail (ze standardową wtyczką) Opracowany przez Junio ​​Hamano, Linus Torvalds Matt Mackall Utrzymywany przez Junio ​​Hamano Matt Mackall Napisane w C, Bourne Shell, Perl Python i C. Scal śledzenie tak tak Integracja Bug Trackera Nie Trac (przez wtyczkę) Licencja GPL v2 GPL v2 Stronie internetowej git-scm.com www.selenic.com/mercurial OS POSIX, gorsza obsługa Windows Uniksowy, Windows, Mac OS X Wprowadzenie (z Wikipedii) Git to darmowa rozproszona kontrola wersji lub projekt zarządzania kodem źródłowym oprogramowania, z naciskiem na szybkość. Git został początkowo stworzony przez Linusa Torvaldsa dla rozwoju jądra Linuksa. Mercurial to wieloplatformowe, rozproszone narzędzie kontroli wersji dla programistów. Jest głównie implementowany przy użyciu języka programowania Python, ale zawiera implementację binarnego porównania napisaną w C.. Rodzaj Kontrola wersji Kontrola wersji

Zawartość: Mercurial vs Git

  • 1 Cele projektowe
  • 2 projekty korzystające z Git vs. projekty wykorzystujące Mercurial
  • 3 Git vs Mercurial Przenośność
  • 4 Interfejs użytkownika dla Git vs. Mercurial
  • 5 powiązanych filmów
  • 6 referencji

Projektuj cele

Główne cele projektowe Mercurial obejmują wysoką wydajność, skalowalność, bycie bezserwerowym, w pełni rozproszonym programowaniem do współpracy, niezawodną obsługę zarówno plików tekstowych, jak i plików binarnych, a także zaawansowane możliwości rozgałęziania i łączenia, pozostając jednocześnie koncepcyjnie proste. Zawiera zintegrowany interfejs internetowy.

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

Projekty korzystające z Git vs Projekty korzystające z Mercurial

Kilka głośnych projektów oprogramowania wykorzystuje Git do kontroli wersji, w szczególności jądro Linuksa, Perl, Samba, serwer X.org, Qt (zestaw narzędzi), rozwój rdzenia One Laptop per Child (OLPC), framework internetowy Ruby on Rails, VLC , YUI, Merb, Wine, SWI Prolog, GNOME, GStreamer, DragonFly BSD i platforma mobilna Android.

Projekty wykorzystujące Mercurial to Adblock Plus, Aldrin, Audacious, Dovecot IMAP server, GNU Octave, NxOS, Nuxeo, Growl, MoinMoin wiki, Mozilla, Mutt (klient e-mail), Netbeans (IDE), OpenJDK, Python, SAGE, OpenSolaris firmy Sun Microsystem oraz oprogramowanie Oracle opensource, takie jak Btrfs.

Przenośność Git vs Mercurial

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

Git jest rozwijany przede wszystkim w systemie Linux, ale można go używać w innych systemach operacyjnych typu Unix, w tym BSD i Solaris.

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

  • Natywny port Microsoft Windows, o nazwie msysgit, zbliża się do końca. Od lutego 2009 r. Dostępne są instalatory do pobrania gotowe do testowania. Niektóre polecenia nie są jeszcze dostępne z GUI i należy je wywoływać z wiersza poleceń.
  • Git działa również na Cygwin (warstwa emulacji POSIX), chociaż jest zauważalnie wolniejszy, szczególnie w przypadku poleceń pisanych jako skrypty powłoki.

Interfejs użytkownika dla Git vs Mercurial

Wszystkie operacje Mercurial są wywoływane jako opcje słów kluczowych do jego programu sterującego hg, odniesienia do symbolu chemicznego pierwiastka rtęci. Interfejsy GUI dla Mercurial obejmują Hgk (Tcl / Tk). Jest to realizowane jako rozszerzenie Mercurial i jest częścią oficjalnej wersji. Ta przeglądarka wyświetla skierowany acykliczny wykres zestawów zmian repozytorium Mercurial. Tę przeglądarkę można wywołać za pomocą polecenia „widok hg”, jeśli rozszerzenie jest włączone. hgk był pierwotnie oparty na podobnym narzędziu git o nazwie gitk. Istnieje zamiennik hgk o nazwie hgview napisany w czystym pythonie i zapewniający interfejsy gtk i qt.

Powiązane narzędzia Mercurial obejmują:

  • Powiązane narzędzia do łączenia obejmują (h) gct (Qt) i Meld.
  • Rozszerzenie konwersji umożliwia import z repozytoriów CVS, Darcs, git, GNU Arch, Monotone i Subversion.
  • Netbeans IDE obsługuje Mercurial od wersji 6.
  • Tortoise Hg zapewnia przyjazny dla użytkownika interfejs systemu Windows, klikając prawym przyciskiem myszy.
  • VisualHG jest wtyczką dostawcy kontroli źródła Mercurial dla MS Visual Studio 2008.
  • Mercurial Eclipse to wtyczka dostawcy zespołu Eclipse dla Eclipse 3.3 i nowszych.

Alternatywne sposoby uruchamiania Gita za pomocą GUI obejmują:

  • git-cvsserver (który emuluje serwer CVS, umożliwiając korzystanie z klientów Windows CVS)
  • Klient Git oparty na środowisku IDE Eclipse, oparty na czystej implementacji Javy elementów wewnętrznych Gita: egit
  • Wsparcie NetBeans IDE dla Git jest w fazie rozwoju.
  • Rozszerzenie Windows Explorer (podobne do TortoiseCVS / TortoiseSVN) zostało uruchomione w TortoiseGit i Git Extensions, które jest rozszerzeniem eksploratora, a także samodzielnym GUI i wtyczką Visual Studio 2008

Powiązane wideo

Bibliografia

  • wikipedia: Git_ (oprogramowanie)
  • wikipedia: Mercurial_ (oprogramowanie)
  • Martin Geisler, programista Mercurial, dogłębnie porównuje funkcje Git i Mercural