Mercurial ve Git

Git ve cıvalı ikisi de için ücretsiz yazılım araçlarıdır GitcıvalıYerleşik web sunucusu Hayır Evet Etkinlik öncesi / sonrası kancaları Evet Evet Satır sonu dönüşümleri Evet Evet Etiketler Evet Evet Uluslararası destek Kısmi Evet Dosya adları Evet (örtük) Evet Dosya adlarını birleştir Evet Evet Sembolik bağlantılar Evet Evet Açık kaynak Evet Evet İmzalı Düzeltmeler Evet Evet Düzeltme kimlikleri SHA-1 karmaları Sayılar, SHA-1 karmaları Atomik taahhütler Evet Evet Tarih modeli Enstantane fotoğraf değişiklik kümesi Havuz boyutu O (yama) (Büyük O gösterimi) O (yama) (Büyük O gösterimi) Eşzamanlılık modeli Birleştirmek Birleştirmek İşletim sistemleri Unix benzeri, Windows, Mac OS X Unix benzeri, Windows, Mac OS X Evreleme alanı Evet Hayır Harici şube Evet Hayır Maliyet Bedava Bedava RCS Anahtar Kelimesi Evet, ancak önerilmez birlikte gelen eklenti ile Sığ çıkış / klon Evet Bugzilla uzantısı Dosya / dizin adı izleme Algılamayı yeniden adlandır İzlemeyi yeniden adlandır Alt dizin ödünç verme / klonlama Hayır Hayır Havuz modeli Dağıtılmış Dağıtılmış İzin tutma Yalnızca yürütme biti Yalnızca yürütme biti Ağ protokolleri özel, ssh üzerinden özel, rsync, HTTP, e-posta paketleri HTTP, ssh üzerinden özel, e-posta paketleri (standart eklentiyle) Tarafından geliştirilmiş Junio ​​Hamano, Linus Torvalds Matt Mackall Tarafından sağlandı Junio ​​Hamano Matt Mackall Yazılmış C, Bourne Kabuğu, Perl Python ve C İzlemeyi birleştir Evet Evet Bug Tracker entegrasyonu Hayır Trac (eklenti ile) Lisans GPL v2 GPL v2 İnternet sitesi git-scm.com www.selenic.com/mercurial işletim sistemi POSIX, daha kötü Windows desteği Unix benzeri, Windows, Mac OS X Giriş (Wikipedia'dan) Git, hızlı dağıtılmış bir ücretsiz dağıtılmış revizyon kontrolü veya yazılım kaynak kodu yönetimi projesidir. Git başlangıçta Linux çekirdek gelişimi için Linus Torvalds tarafından oluşturuldu. Mercurial, yazılım geliştiricileri için platformlar arası dağıtılmış bir revizyon kontrol aracıdır. Temel olarak Python programlama dili kullanılarak uygulanır, ancak C ile yazılmış bir ikili fark uygulaması içerir. tip Gözden geçirme Gözden geçirme

İçindekiler: Mercurial vs Git

  • 1 Tasarım hedefleri
  • 2 Git vs Mercurial kullanan projeler
  • 3 Git vs Mercurial Taşınabilirlik
  • Git ve Mercurial için 4 Kullanıcı Arabirimi
  • 5 İlgili Videolar
  • 6 Kaynaklar

Tasarım hedefleri

Mercurial'ın temel tasarım hedefleri arasında yüksek performans, ölçeklenebilirlik, sunucusuz, tam olarak dağıtılmış bir işbirliği geliştirme, hem düz metin hem de ikili dosyaların sağlam kullanımı ve gelişmiş dallanma ve birleştirme özellikleri bulunur. Entegre bir web arayüzü içerir.

Linus Torvalds'ın Git için temel tasarım hedeflerinden biri operasyonların hızı ve verimliliği idi. Diğer tasarım kriterleri arasında, kazara veya kötü amaçlı yolsuzluğa karşı güçlü önlemler vardı.

Git vs Mercurial kullanan projeler

Birçok yüksek profilli yazılım projesi artık Git'i revizyon kontrolü için kullanıyor, özellikle Linux çekirdeği, Perl, Samba, X.org Sunucusu, Qt (araç kiti), Çocuk Başına Bir Dizüstü Bilgisayar (OLPC) çekirdek geliştirme, Ruby on Rails web çerçevesi, VLC , YUI, Merb, Şarap, SWI Prolog, GNOME, GStreamer, DragonFly BSD ve Android mobil platformu.

Mercurial kullanan projeler arasında Adblock Plus, Aldrin, Audacious, Dovecot IMAP sunucusu, GNU Octave, NxOS, Nuxeo, Growl, MoinMoin wiki yazılımı, Mozilla, Mutt (e-posta istemcisi), Netbeans (IDE), OpenJDK, Python, SAGE, Sun Microsystem's OpenSolaris ve Oracle'ın Btrfs gibi Açık Kaynak Yazılımı.

Git vs Mercurial Taşınabilirlik

Mercurial başlangıçta Linux üzerinde çalışacak şekilde yazılmıştır. Windows, Mac OS X ve diğer birçok Unix benzeri sisteme taşınmıştır. Mercurial öncelikle bir komut satırı programıdır.

Git öncelikle Linux üzerinde geliştirilmiştir, ancak BSD ve Solaris gibi diğer Unix benzeri işletim sistemlerinde kullanılabilir.

Git ayrıca Windows üzerinde de çalışır. İki varyant vardır:

  • Msysgit adlı yerel bir Microsoft Windows bağlantı noktası tamamlanmak üzere. Şubat 2009 itibariyle, yüklenmeye hazır yüklenebilir yükleyiciler var Bazı komutlar henüz GUI'lerde mevcut değildir ve komut satırından çağrılmalıdır.
  • Git ayrıca Cygwin (POSIX öykünme katmanı) üzerinde de çalışır, ancak özellikle kabuk komut dosyaları olarak yazılan komutlar için fark edilir derecede yavaştır.

Git vs Mercurial için Kullanıcı Arayüzü

Mercurial'ın tüm işlemleri, cıva öğesinin kimyasal sembolüne referans olan sürücü programı hg'ye anahtar kelime seçenekleri olarak çağrılır. Mercurial için GUI arayüzleri arasında Hgk (Tcl / Tk) bulunur. Bu bir Mercurial uzantısı olarak uygulanır ve resmi sürümün bir parçasıdır. Bu görüntüleyici bir Mercurial deposunun değişiklik kümelerinin yönlendirilmiş asiklik grafiğini görüntüler. Bu görüntüleyici, uzantı etkinleştirilmişse 'hg view' komutu ile çağrılabilir. hgk aslında gitk için gitk adı verilen benzer bir araca dayanıyordu. Saf python ile yazılmış ve hem gtk hem de qt arayüzleri sağlayan hgview adında hgk değiştirme var.

İlgili Mercurial araçları şunları içerir:

  • Birleştirme için ilgili araçlar arasında (h) gct (Qt) ve Meld yer alır.
  • Dönüştürme uzantısı CVS, Darcs, git, GNU Arch, Monoton ve Subversion depolarından içe aktarmaya izin verir.
  • Netbeans IDE, Sürüm 6'dan Mercurial'ı destekliyor.
  • Tortoise Hg, Windows kullanıcı dostu, sağ tıklama menüsü arayüzü sağlar.
  • VisualHG, MS Visual Studio 2008 için bir Mercurial kaynak kontrol sağlayıcı eklentisidir.
  • Mercurial Eclipse, Eclipse 3.3 ve daha yeni sürümler için bir Eclipse ekibi sağlayıcı eklentisidir.

Git'i GUI kullanarak çalıştırmak için alternatifler:

  • git-cvsserver (bir CVS sunucusunu taklit ederek Windows CVS istemcilerinin kullanımına izin verir)
  • Git dahili araçlarının saf Java uygulamasına dayanan Eclipse IDE tabanlı Git istemcisi: egit
  • Git için NetBeans IDE desteği geliştirilme aşamasında.
  • Bir explorer uzantısı olan bağımsız bir GUI ve Visual Studio 2008 Eklentisi olan TortoiseGit ve Git Extensions'da Windows Gezgini uzantısı (TortoiseCVS / TortoiseSVN görünümlü) başlatıldı

İlgili videolar

Referanslar

  • wikipedia: Git_ (yazılım)
  • wikipedia: Mercurial_ (yazılım)
  • Mercurial geliştiricisi Martin Geisler, Git ve Mercural'ın özelliklerini derinlemesine karşılaştırıyor