Mercurial vs. Git

Mercurial vs. Git

Git dan Mercurial adalah kedua -dua alat perisian percuma untuk kawalan semakan semula dan pengurusan kod sumber perisian yang diedarkan.

Kedua -dua Git dan Mercurial dimulakan pada masa yang sama dengan matlamat yang serupa. Rangsangan segera adalah pengumuman pada bulan April 2005 oleh Bitmover bahawa mereka telah menarik balik versi percuma Bitkeeper, yang telah digunakan untuk keperluan kawalan versi Projek Kernel Linux. Pencipta Mercurial Matt Mackall memutuskan untuk menulis sistem kawalan versi yang diedarkan sebagai pengganti untuk digunakan dengan kernel Linux. Mackall pertama kali mengumumkan Mercurial pada 19 April 2005.

Git dicipta oleh Linus Torvalds untuk pembangunan kernel Linux, dengan penekanan untuk menjadi pantas. Pembangunan Git bermula pada 3 April 2005. Projek itu diumumkan pada 6 April, dan menjadi tuan rumah sendiri pada 7 April. Gabungan pertama pelbagai cawangan dilakukan pada 18 April.

Projek kernel Linux memutuskan untuk menggunakan git dan bukannya mercurial, tetapi mercurial kini digunakan oleh banyak projek lain.

Carta Perbandingan

Perbezaan - Persamaan - Git berbanding carta perbandingan mercurial
GitMercurial
  • Penarafan semasa ialah 3.95/5
  • 1
  • 2
  • 3
  • 4
  • 5
(110 penilaian)
  • Penarafan semasa ialah 4.15/5
  • 1
  • 2
  • 3
  • 4
  • 5
(110 penilaian)
Pelayan web terbina dalam Tidak Ya
Cangkuk pra/pasca acara Ya Ya
Akhir penukaran baris Ya Ya
Tag Ya Ya
Sokongan Antarabangsa Separa Ya
RENAMA FILE Ya (tersirat) Ya
Gabungkan nama semula fail Ya Ya
Pautan simbolik Ya Ya
Sumber terbuka Ya Ya
Semakan yang ditandatangani Ya Ya
ID semakan Hash Sha-1 Nombor, Hash Sha-1
Atom melakukan Ya Ya
Model Sejarah Snapshot Perubahan
Saiz repositori O (patch) (notasi besar) O (patch) (notasi besar)
Model Concurrency Bergabung Bergabung
Sistem operasi Unix-Like, Windows, Mac OS X Unix-Like, Windows, Mac OS X
Kawasan pementasan Ya Tidak
Cawangan luar Ya Tidak
Kos Percuma Percuma
Kata kunci RCS Ya, tetapi tidak disyorkan melalui plugin yang dibundel
Cetek / klon cetek Ya Bugzilla Extension
Penjejakan Nama Fail/Dir Namakan semula pengesanan Namakan semula penjejakan
Subdirectory checkout/clone Tidak Tidak
Model repositori Diedarkan Diedarkan
Penyimpanan kebenaran Pelaksanaan sedikit sahaja Pelaksanaan sedikit sahaja
Protokol Rangkaian Custom, Custom Over SSH, RSYNC, HTTP, Bundle E -mel HTTP, Custom Over SSH, Bundle E -mel (dengan Plugin Standard)
Dibangunkan oleh Junio ​​Hamano, Linus Torvalds Matt Mackall
Dikekalkan oleh Junio ​​Hamano Matt Mackall
Ditulis dalam C, Bourne Shell, Perl Python dan c
Menggabungkan penjejakan Ya Ya
Integrasi Tracker Bug Tidak TRAC (melalui plugin)
Lesen GPL V2 GPL V2
Laman web git-scm.com www.selenik.com/mercurial
OS POSIX, sokongan Windows yang lebih teruk Unix-Like, Windows, Mac OS X
Pengenalan (dari Wikipedia) Git adalah kawalan semakan yang diedarkan secara percuma, atau projek pengurusan kod sumber perisian dengan penekanan untuk menjadi cepat. Git pada mulanya dicipta oleh Linus Torvalds untuk Pembangunan Kernel Linux. Mercurial adalah alat kawalan revisi yang diedarkan, diedarkan untuk pemaju perisian. Ia terutamanya dilaksanakan menggunakan bahasa pengaturcaraan python, tetapi termasuk pelaksanaan diff binari yang ditulis dalam c.
Jenis Kawalan semakan Kawalan semakan

Matlamat reka bentuk

Matlamat reka bentuk utama Mercurial termasuk prestasi tinggi, skalabiliti, menjadi pembangunan kolaborasi yang tidak disengajakan sepenuhnya, pengendalian yang mantap dari kedua -dua teks biasa dan fail binari, dan cawangan cawangan dan penggabungan maju, sementara tetap konseptual mudah. Ia termasuk antara muka web bersepadu.

Salah satu matlamat reka bentuk utama Linus Torvalds untuk Git adalah kelajuan dan kecekapan operasi. Kriteria reka bentuk lain termasuk perlindungan yang kuat terhadap rasuah, sama ada secara tidak sengaja atau berniat jahat.

Projek menggunakan projek git vs menggunakan mercurial

Beberapa projek perisian berprofil tinggi kini menggunakan Git untuk kawalan semakan, terutamanya kernel Linux, Perl, Samba, x.Server Org, Qt (Toolkit), satu komputer riba setiap kanak -kanak (OLPC) pembangunan teras, Ruby on Rails Web Rangka, VLC, Yui, Merb, Wain, Swi Prolog, Gnome, Gstreamer, Dragonfly BSD dan platform mudah alih Android.

Projek yang menggunakan mercurial termasuk Adblock Plus, Aldrin, Audacious, Dovecot IMAP Server, GNU Octave, NXOS, Nuxeo, Growl, Moinmoin Wiki Software, Mozilla, Mutt (E -mel dan perisian OpenSource Oracle seperti BTRFS.

Git vs mudah alih mercurial

Mercurial pada mulanya ditulis untuk dijalankan di Linux. Ia telah dipindahkan ke Windows, Mac OS X, dan kebanyakan sistem seperti Unix yang lain. Mercurial terutamanya program baris arahan.

Git terutamanya dibangunkan di Linux, tetapi boleh digunakan pada sistem operasi seperti Unix lain termasuk BSD dan Solaris.

Git juga berjalan di tingkap. Terdapat dua varian:

  • Port Windows Microsoft asli, yang dipanggil Msysgit sedang menghampiri penyelesaian. Sehingga Februari 2009, terdapat pemasang yang boleh dimuat turun untuk menguji beberapa arahan belum tersedia dari GUI, dan mesti dipanggil dari baris arahan.
  • Git juga berjalan di atas Cygwin (lapisan emulasi POSIX), walaupun ia lebih perlahan, terutamanya untuk arahan yang ditulis sebagai skrip shell.

Antara muka pengguna untuk git vs mercurial

Semua operasi Mercurial dipanggil sebagai pilihan kata kunci kepada program pemandunya HG, merujuk kepada simbol kimia Elemen Mercury. Antara muka GUI untuk mercurial termasuk HGK (TCL/TK). Ini dilaksanakan sebagai lanjutan mercurial, dan merupakan sebahagian daripada versi rasmi. Penonton ini memaparkan graf acyclic yang diarahkan dari perubahan repositori mercurial. Penonton ini boleh dipanggil melalui perintah 'HG View', jika pelanjutan diaktifkan. HGK pada asalnya didasarkan pada alat yang sama untuk Git yang dipanggil Gitk. Terdapat pengganti HGK bernama HGView yang ditulis dalam Python tulen dan menyediakan antara muka GTK dan QT.

Alat mercurial yang berkaitan termasuk:

  • Alat yang berkaitan untuk penggabungan termasuk (h) GCT (QT) dan meld.
  • Pelanjutan yang ditukar membolehkan import dari CVS, DARCS, GIT, GNU Arch, Monotone dan Repositori Subversion.
  • NetBeans IDE menyokong Mercurial dari versi 6.
  • Tortoise HG Menyediakan antara muka menu yang mesra pengguna, klik kanan Windows.
  • VisualHG adalah plugin penyedia kawalan sumber untuk MS Visual Studio 2008.
  • Mercurial Eclipse adalah plugin penyedia pasukan Eclipse untuk Eclipse 3.3 dan lebih baru.

Alternatif untuk menjalankan Git menggunakan GUI termasuk:

  • git-cvsserver (yang menunaikan pelayan CVS, yang membolehkan penggunaan pelanggan Windows CVS)
  • Pelanggan Git berasaskan Eclipse IDE, berdasarkan pelaksanaan Java tulen Git's Internals: EGIT
  • Sokongan IDE NetBeans untuk Git sedang dibangunkan.
  • Pelanjutan Windows Explorer (Tortoisecvs/Tortoisesvn-Lookalike) dimulakan di Tortoisegit dan Sambungan Git yang merupakan lanjutan penjelajah serta GUI mandiri dan pemalam Visual Studio 2008

Video-video yang berkaitan