Hampir setiap artikel yang saya baca 1 membandingkan Git dan Mercurial sepertinya Mercurial memiliki UX baris perintah yang lebih baik dengan setiap perintah terbatas pada satu ide saja (tidak seperti mengatakan git checkout
).
Tetapi pada suatu saat Git tiba-tiba menjadi tampak sangat populer dan jumlah submit Git pada grafik popcon Debian (lihat gambar grafik di bawah) benar-benar meledak.
Sumber: Debian
Apa yang terjadi pada 2010-01 yang tiba-tiba berubah. Sepertinya GitHub didirikan lebih awal dari itu - 2008.
apt-cache rdepends git-core
, danapt-cache rdepends mercurial
. Mungkin itu tidak ada hubungannya dengan git selain itu dimasukkan karena seseorang menginstal beberapa paket umum lainnya. Sebagai contoh saya adalah pengguna dari etckeeper, dan ikiwiki yang keduanya berdasarkan pada git (saya pikir dimungkinkan untuk menggunakan mercurial juga). Saya sarankan Anda meluangkan waktu dan melihat semua hal yang Tergantung atau Rekomendasikan git-core.Jawaban:
Paket "gnuit" (Alat Interaktif GNU, peramban / penampil file dan penampil proses) disebut "git" di Debian hingga 2009-09-09, sementara git disebut "git-core".
Oleh karena itu, grafik yang lebih baik untuk dilihat adalah:
Yang menunjukkan bahwa popularitas tidak meningkat secara dramatis (ambil garis hijau untuk bagian kiri sampai mereka menyeberang, lalu ambil garis merah).
sumber
Paket git di Debian sebelumnya dikenal sebagai
git-core
. Pada bulan April 2010 paket diubah namanya menjadigit
. Rincian lebih lanjut dapat ditemukan di posting blog ini oleh Julius Plenz atau komit ini di Debian .Berikut ini adalah grafik yang menunjukkan jumlah pemasangan keduanya
git
dangit-core
dari waktu ke waktu:sumber
Saya menggunakan Darcs untuk proyek saya sendiri sebentar. Saya beralih ke git selama kenaikan cepat yang mengacu pada grafik Anda, jadi inilah pengamatan saya:
Sistem kontrol sumber terdistribusi pada waktu itu adalah hal yang berdarah. Apa yang disebut programmer alfa menggunakannya di samping, tetapi mereka jatuh di luar radar kebanyakan pengembang perangkat lunak profesional. Cara CVS / SVN / SourceSafe / TFS memandang dunia adalah cara yang secara umum disukai oleh para programmer dan sebagian besar orang berasumsi bahwa masalah yang menelurkan sistem kontrol sumber terdistribusi dapat diperbaiki dengan tooling yang lebih baik. Sama seperti Anda mendapatkan peningkatan dengan pergi dari CVS -> SVN bahwa suatu hari nanti akan ada sesuatu yang akan memungkinkan Anda untuk pergi SVN -> SVN ++. Bagaimana lagi Anda mengelola kontrol sumber?
Lalu datang git. Apa yang memaksa git masuk ke radar setiap orang adalah ada proyek publik besar yang segera mengadopsinya. Git mendapat banyak pengguna secara gratis - jika Anda akan melakukan peretasan kernel serius, Anda menggunakan git. Walaupun saya tidak dapat 100% yakin, saya akan bertaruh bahwa pada saat itu tidak ada DVCS lain yang memiliki basis pengguna yang besar.
Lalu berhasil. Itu bekerja dengan baik. Itu bekerja dengan baik di depan umum. Juga, untuk kutil awalnya, lebih stabil daripada kebanyakan DVCS bersamaan pada saat itu. Darcs, misalnya, bisa dimasukkan ke dalam keadaan tidak konsisten yang diperlukan kompleks kepalang (kuadrat? Faktorial? Tidak ingat pasti, tapi itu buruk ) utilitas untuk memperbaiki. Git selalu lebih stabil.
Dari basis pengguna yang besar itu hanya semacam meledak.
Setiap proyek, komersial atau open source, membutuhkan massa kritis itu. Darcs tidak mengerti. Mercurial juga tidak. Pikir kembali. Banyak proyek yang lebih kecil menggunakannya. Bahkan mungkin ada sejumlah pengguna komersial. Tapi apa kisah sukses besar Anda?
"Jika itu cukup baik untuk kernel Linux, itu cukup baik untuk Anda" adalah argumen yang sangat meyakinkan.
Jadi, untuk meringkas, itu adalah produk yang bagus yang datang pada waktu yang tepat dan mendapat basis pengguna yang besar dan berdedikasi.
sumber
Saya adalah seorang adopter yang terlambat - beralih dari Mercurial ke Git di sekitar 2010.
Alasan saya percaya Git menjadi sangat populer adalah karena situs-situs seperti GitHub Anda memiliki efek jaringan pada alat kontrol versi. Ini sebelumnya tidak terlihat, karena Anda akan membagikan kode berdasarkan proyek atau perusahaan.
Saya secara khusus ingat beralih ke Git dan Github karena semua proyek yang saya tertarik ikuti dan berkontribusi untuk melakukan hal yang sama, serta pengembang yang saya asosiasikan.
Itu adalah efek jaringan.
GitHub adalah lapisan kolaborasi berbasis web paling populer yang dibangun di atas DVCS dan Git akhirnya menjadi 'cukup baik'. Mercurial tentu lebih mudah dipelajari dan digunakan, Git memiliki banyak nuansa, tetapi memiliki merek yang solid karena Linus.
Hanya karena GitHub diluncurkan pada '08 dan pertumbuhan dimulai pada '10 tidak berarti GitHub tidak bertanggung jawab. Jika Anda melihat grafik pertumbuhan kompetitif di bidang lain seperti jejaring sosial dan pertumbuhan Facebook, garisnya sangat mirip.
Anda tidak melihat grafik pertumbuhan seperti itu tanpa efek viral / jaringan.
Untuk misalnya. dibandingkan dengan bagan pertumbuhan Facebook
Pembaruan: Saya tahu sumber di atas mungkin tidak akurat, tetapi ada banyak sumber data yang menunjukkan bahwa Git telah tumbuh secara eksponensial dalam beberapa tahun terakhir.
Grafik 1: Sebutan Git dalam iklan pekerjaan
Dan survei Eclipse yang menunjukkan bahwa pangsa pasar Git naik dari 13% di 2011 menjadi 27% di 2012 . Pertumbuhan luar biasa.
Posting ini membuat penjelasan yang jauh lebih baik tentang pertumbuhan Git dan efek jaringan daripada apa yang telah saya lakukan di sini.
sumber
Hanya untuk memperjelas, grafik ini menunjukkan instalasi git pada sistem debian.
Sekitar waktu lonjakan terjadi paket Debian diubah namanya dari git-core ke git. Mungkin orang menemukan paket itu lebih mudah sekarang karena namanya mencerminkan perangkat lunak.
sumber
Saya terkejut tidak ada yang menyebut Github sebagai salah satu alasan terbesar bagi Git untuk mendapatkan popularitas . Mereka mendorong git mainstream.
Github diluncurkan pada bulan April 2008 dan dalam 1-2 tahun, mereka mendapatkan popularitas. Dan kemudian ketika Anda melihat ledakan tiba-tiba penggunaan git / git-core terutama disebabkan oleh 2 juta pengguna github dan 3,7 juta repositori mereka. Github membuat git mudah digunakan. Bitbucket ada di sana, tetapi github membuatnya mudah. Saya yakin jika github guys memilih Hg di tempat git, kita seharusnya melihat lonjakan yang sama dalam penggunaan Hg.
Analogi dapat berupa: Canonical: Linux :: Github: Git
sumber
Nah, IMHO, VCS yang didistribusikan seperti Hg dan Git secara inheren lebih baik daripada VCS yang terpusat - jadi SVN selalu akan kalah dari salah satu dari mereka.
Dan git, seperti yang telah diamati, memiliki keuntungan besar atas Hg bahwa itu digunakan oleh proyek open-source terbesar dan paling sukses di planet ini - itu adalah rekor yang luar biasa, sejak awal.
Mengenai mengapa ledakan mendadak pada awal 2010, tebakan saya cukup sederhana. Git brilian, tapi itu tidak intuitif untuk pemula.
Buku Git terbaik, IMHO, adalah Pro Git, yang diterbitkan pada September 2009. Yang terbaik kedua (IMHO lagi), buku O'Reilly Git, diterbitkan pada Juni 2009.
Jadi alasan penggunaan Git meledak pada awal 2010 bisa sesederhana fakta bahwa pada saat itulah sumber daya yang benar-benar baik untuk mempelajari cara menggunakannya tersedia.
sumber
Memilih sistem kontrol versi adalah keputusan sosial. Tim semua perlu menggunakan solusi yang sama. Berbeda dengan editor teks, yang merupakan keputusan pribadi - pengembang yang berbeda dapat menggunakan editor yang berbeda dan mudah berkolaborasi.
Jadi ada efek jaringan untuk memilih sistem kontrol versi, menyebabkan sistem yang mungkin sedikit lebih baik atau sedikit lebih populer menjadi lebih populer.
Sebagai contoh, saya lebih suka darcs untuk proyek-proyek open source, tetapi menemukan bahwa lebih banyak kontributor potensial saya yang akrab dengan git, dan saya menerima lebih banyak kontribusi lebih mudah untuk proyek-proyek yang dihosting oleh git daripada darcs. Jadi, saya lebih sering menggunakan git, bukan darcs. Kemudian, karena saya menggunakannya dan menerbitkan kode pada Github, tampaknya saya mendukungnya atau bahkan lebih suka, yang dapat memengaruhi orang lain untuk menggunakannya.
Pengembang tidak ingin mempelajari sistem kontrol sumber baru untuk setiap proyek yang dikontribusikannya, sehingga menguntungkan masyarakat secara keseluruhan untuk memiliki standar yang "cukup baik" dan populer secara luas, sehingga setiap tim dan proyek memilih "terbaik" "solusi dalam ruang hampa.
Github hanya menambahkan bahan bakar ke api efek jaringan.
sumber
Melihat grafik yang dikoreksi dalam jawaban Michael, menunjukkan git-core dan git pada sistem Debian, pertanyaannya adalah mengapa git mulai menjadi populer pada 2006 pada sistem Debian dan mengapa ia tumbuh secara eksponensial antara 2006-2012.
Alasannya adalah adopsi yang kuat dari distribusi Linux berbasis Debian, seperti Ubuntu, yang mulai menjadi populer sekitar 2005-2006 dan menjadi distro # 1 hingga sekitar 2011, ketika Mint, juga berbasis Debian, menjadi # 1. Pada akhir 2012, Mint masih # 1 dan Ubuntu # 3 menurut DistroWatch .
GitHub, didirikan pada 2008, menyediakan hosting git gratis, dan antara 2008 dan 2012 menjadi layanan penyimpanan sumber # 1 di dunia dengan ~ 2,5 juta pengguna dan ~ 4,5 juta proyek , menurut Wikipedia pada akhir 2012.
Rails dan banyak proyek lainnya beralih dari Rubyforge ke GitHub pada akhir 2000-an. Selain itu, Bundler diperkenalkan sekitar waktu awalnya dalam pertanyaan (akhir 2009) dengan dukungan untuk menginstal / memperbarui permata melalui
:git
opsi di Gemfile, dan Bundler dimasukkan sebagai dependensi Rails 3. Proyek dengan Python, Javascript, C, C ++ , Java, CSS, dll. Juga dimigrasikan ke atau mulai di GitHub.Mereka yang ingin berkontribusi pada proyek-proyek di GitHub perlu membayar proyek di GitHub, menggunakan klien git lokal untuk mengkloning repositori sebelum membuat amandemen dan mendorong mereka kembali ke GitHub dan melakukan permintaan tarik. Ini jauh lebih sederhana daripada metode lain yang digunakan sebelumnya dan bisa dibilang adalah alasan signifikan bahwa itu diadopsi oleh proyek yang pindah ke GitHub atau memutuskan untuk memulai di sana. Ini berarti git-core / git perlu diinstal di distro berbasis Debian sehingga pengembang dapat menggunakan GitHub.
Jadi, saya percaya itu adalah kombinasi dari distro berbasis Debian menjadi lebih populer dan adopsi git yang tumbuh karena pertumbuhan GitHub dalam pengguna dan proyek, yang kemungkinan berasal dari hosting gratis dan pengalaman pengguna GitHub.
sumber
Saya pikir banyak orang yang mengacaukan korelasi dengan sebab-akibat.
Grafik yang disajikan semua menunjukkan korelasi antara ukuran popularitas git dan peristiwa ... dan tindakan lainnya. Namun, suatu korelasi bukanlah bukti yang jelas untuk penyebabnya.
Beberapa jawaban lain berusaha menarik hubungan dengan hal-hal lain; mis. penginjilan Linus Torsvalds untuk DVCS, pembentukan Github, kebangkitan jejaring sosial. Sementara ada bukti korelasi (pada garis waktu) tidak kuat, itu tidak mengecualikan sebab-akibat. Terutama jika Anda menerima hipotesis "efek jaringan"; yaitu bahwa ada beberapa penyebab.
Intinya, adalah jenis bukti yang tersedia tidak dapat menunjukkan sebab akibat. Kita berbicara tentang perilaku kolektif ratusan ribu orang, dan orang-orang membuat keputusan untuk alasan yang berbeda ... atau tidak ada alasan logis sama sekali. Programmer tidak berbeda dari orang lain.
sumber