Mercurial vs. Git
- 3379
- 314
- Brandon Haag
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 | Mercurial | |
---|---|---|
|
| |
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