Mercurial vs Git

Git dan Mercurial adalah alat perangkat lunak gratis untuk kontrol revisi terdistribusi dan manajemen kode sumber perangkat lunak.

Baik Git dan Mercurial dimulai pada waktu yang hampir bersamaan dengan tujuan yang sama. Stimulus langsung adalah pengumuman pada bulan April 2005 oleh Bitmover bahwa mereka menarik versi gratis BitKeeper, yang telah digunakan untuk persyaratan kontrol versi proyek kernel Linux. Pencipta Mercurial Matt Mackall memutuskan untuk menulis sistem kontrol versi terdistribusi sebagai pengganti untuk digunakan dengan kernel Linux. Mackall pertama kali mengumumkan Mercurial pada 19 April 2005.

Git diciptakan oleh Linus Torvalds untuk pengembangan kernel Linux, dengan penekanan pada kecepatan. Pengembangan Git dimulai pada 3 April 2005. Proyek ini diumumkan pada 6 April, dan menjadi hosting mandiri pada 7 April. Penggabungan pertama dari banyak cabang dilakukan pada 18 April.

Proyek kernel Linux memutuskan untuk menggunakan Git daripada Mercurial, tetapi Mercurial sekarang digunakan oleh banyak proyek lain.

Grafik perbandingan

Grafik perbandingan Git versus Mercurial
Git Lincah
Server web bawaanTidakIya
Kait sebelum / sesudah acaraIyaIya
Konversi akhir barisIyaIya
TagIyaIya
Dukungan internasionalSebagianIya
Ganti nama fileYa (tersirat)Iya
Gabungkan nama fileIyaIya
Tautan simbolikIyaIya
Sumber terbukaIyaIya
Revisi yang ditandatanganiIyaIya
ID RevisiHash SHA-1Bilangan, hash SHA-1
Atom melakukanIyaIya
Model sejarahFotoSet perubahan
Ukuran repositoriO (patch) (notasi O Besar)O (patch) (notasi O Besar)
Model konkurensiMenggabungkanMenggabungkan
Sistem operasiSeperti Unix, Windows, Mac OS XSeperti Unix, Windows, Mac OS X
Pementasan areaIyaTidak
Cabang eksternalIyaTidak
BiayaGratisGratis
RCS KeywordYa, tapi tidak disarankanmelalui plugin yang dibundel
Checkout dangkal / klonIyaEkstensi Bugzilla
Pelacakan nama file / dirGanti nama deteksiGanti nama pelacakan
Kasir / klon subdirektoriTidakTidak
Model repositoriDidistribusikanDidistribusikan
Pemeliharaan izinEksekusi hanya bitEksekusi hanya bit
Protokol jaringancustom, custom over ssh, rsync, HTTP, bundel emailHTTP, custom over ssh, bundel email (dengan plugin standar)
Dikembangkan olehJunio ​​Hamano, Linus TorvaldsMatt Mackall
Dikelola olehJunio ​​HamanoMatt Mackall
Ditulis dalamC, Bourne Shell, PerlPython dan C
Gabungkan pelacakanIyaIya
Integrasi Bug TrackerTidakTrac (via plugin)
LisensiGPL v2GPL v2
Situs webgit-scm.comwww.selenic.com/mercurial
OSPOSIX, dukungan Windows yang lebih burukSeperti Unix, Windows, Mac OS X
Pengantar (dari Wikipedia)Git adalah kontrol revisi yang didistribusikan secara gratis, atau proyek manajemen kode sumber perangkat lunak dengan penekanan pada kecepatan. Git pada awalnya dibuat oleh Linus Torvalds untuk pengembangan kernel Linux.Mercurial adalah alat kontrol revisi lintas platform yang didistribusikan untuk pengembang perangkat lunak. Ini terutama diimplementasikan menggunakan bahasa pemrograman Python, tetapi termasuk implementasi diff biner yang ditulis dalam C.
TipeKontrol revisiKontrol revisi

Tujuan desain

Sasaran desain utama Mercurial meliputi kinerja tinggi, skalabilitas, menjadi pengembangan kolaboratif tanpa server, terdistribusi penuh, penanganan yang kuat untuk file teks biasa dan file biner, dan kemampuan percabangan dan penggabungan yang canggih, namun tetap secara konsep sederhana. Ini termasuk antarmuka web terintegrasi.

Salah satu tujuan desain utama Linus Torvalds untuk Git adalah kecepatan dan efisiensi operasi. Kriteria desain lainnya termasuk perlindungan kuat terhadap korupsi, baik disengaja atau berbahaya.

Proyek menggunakan Git vs Proyek menggunakan Mercurial

Beberapa proyek perangkat lunak profil tinggi sekarang menggunakan Git untuk kontrol revisi, terutama kernel Linux, Perl, Samba, Server X.org, Qt (toolkit), pengembangan inti One Laptop per Child (OLPC), kerangka kerja web Ruby on Rails, VLC, YUI, Merb, Wine, SWI Prolog, GNOME, GStreamer, DragonFly BSD dan platform seluler Android.

Proyek yang menggunakan Mercurial meliputi Adblock Plus, Aldrin, Audacious, server IMAP Dovecot, GNU Octave, NxOS, Nuxeo, Growl, perangkat lunak wiki MoinMoin, Mozilla, Mutt (klien email), Netbeans (IDE), OpenJDK, Python, SAGE, OpenSolaris dari Sun Microsystem dan Perangkat Lunak OpenSource Oracle seperti Btrfs.

Git vs Porturial Portability

Mercurial awalnya ditulis untuk dijalankan di Linux. Ini telah porting ke Windows, Mac OS X, dan sebagian besar sistem mirip Unix lainnya. Mercurial pada dasarnya adalah program baris perintah.

Git terutama dikembangkan di Linux, tetapi dapat digunakan pada sistem operasi mirip Unix lainnya termasuk BSD dan Solaris.

Git juga berjalan di Windows. Ada dua varian:

  • Port Microsoft Windows asli, yang disebut msysgit mendekati penyelesaian. Pada Februari 2009, ada installer yang dapat diunduh yang siap untuk pengujian. Beberapa perintah belum tersedia dari GUI, dan harus dipanggil dari baris perintah.
  • Git juga berjalan di atas Cygwin (lapisan emulasi POSIX), meskipun terasa lebih lambat, terutama untuk perintah yang ditulis sebagai skrip shell.

Antarmuka Pengguna untuk Git vs Mercurial

Semua operasi Mercurial dipanggil sebagai opsi kata kunci untuk program drivernya hg, referensi ke simbol kimia unsur merkuri. Antarmuka GUI untuk Mercurial termasuk Hgk (Tcl / Tk). Ini diimplementasikan sebagai ekstensi Mercurial, dan merupakan bagian dari versi resmi. Penampil ini menampilkan grafik asiklik langsung dari perubahan repositori Mercurial. Penampil ini dapat dipanggil melalui perintah 'tampilan hg', jika ekstensi diaktifkan. hgk pada awalnya didasarkan pada alat serupa untuk git yang disebut gitk. Ada pengganti hgk bernama hgview yang ditulis dengan python murni dan menyediakan antarmuka gtk dan qt.

Alat Mercurial terkait meliputi:

  • Alat terkait untuk menggabungkan termasuk (h) gct (Qt) dan Meld.
  • Ekstensi konversi memungkinkan impor dari repositori CVS, Darcs, git, GNU Arch, Monotone, dan Subversion.
  • Netbeans IDE mendukung Mercurial dari Versi 6.
  • Tortoise Hg menyediakan antarmuka menu klik kanan yang ramah pengguna dan Windows
  • VisualHG adalah plugin penyedia kontrol sumber Mercurial untuk MS Visual Studio 2008.
  • Mercurial Eclipse adalah plugin penyedia tim Eclipse untuk Eclipse 3.3 dan yang lebih baru.

Alternatif untuk menjalankan Git menggunakan GUI meliputi:

  • git-cvsserver (yang mengemulasi server CVS, memungkinkan penggunaan klien Windows CVS)
  • Klien Git berbasis Eclipse IDE, berdasarkan implementasi Java murni internal Git: egit
  • Dukungan NetBeans IDE untuk Git sedang dalam pengembangan.
  • Ekstensi Windows Explorer (mirip TortoiseCVS / TortoiseSVN) dimulai di TortoiseGit dan Git Extensions yang merupakan ekstensi penjelajah serta GUI mandiri dan Plug-in Visual Studio 2008

Video yang berhubungan

Artikel Terkait