Git adalah perangkat lunak pengendali versi atau proyek manajemen kode perangkat lunak yang diciptakan oleh Linus Torvalds, yang pada awalnya ditujukan untuk pengembangan kernel Linux. Desain Git terinspirasi oleh BitKeeper dan Monotone.[2][3] Git pada awalnya hanya dirancang sebagai mesin tingkat rendah yang dapat digunakan oleh tampilan muka (front end) lain seperti Cogito atau StGIT.[4] Namun selanjutnya proyek inti Git telah berkembang menjadi pengendali revisi lengkap yang dapat digunakan langsung.[5] Saat ini, beberapa perangkat lunak terkenal menggunakan Git sebagai pengendali revisinya,[6] antara lain kernel Linux, Server X.org, pengembangan inti OLPC (One Laptop per Child),[7] serta kerangka kerja web Ruby on Rails.[8]

gitweb, sebuah antarmuka web untuk git
Tipedistributed revision control system, kakas sains terbuka, alat pemrograman, perangkat lunak bebas dan filestore
Versi pertama07 April 2005 (2005-04-07)
Versi stabil
2.44.0 (23 Februari 2024)
GenreKendali versi
LisensiGNU General Public License v2
Bahasa
Karakteristik teknis
Sistem operasiPOSIX, Windows
Bahasa pemrogramanC, shell Unix, Perl, Tcl, Python dan C++
Format kode
Format berkas
Informasi pengembang
PembuatLinus Torvalds
PengembangJunio Hamano, Linus Torvalds, dan lain-lain
DesainerLinus Torvalds
Informasi tambahan
Situs webgit-scm.com
BlogBlog oficial
Stack ExchangeEtiqueta
Free Software Directorygit
Subredditgit
GitHub: git
Sunting di Wikidata Sunting di Wikidata • Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini

Pemeliharaan perangkat lunak Git saat ini diawasi oleh Junio Hamano. Dirilis di bawah Lisensi Publik Umum GNU versi 2, Git adalah suatu perangkat lunak bebas.

Sejarah sunting

Pengembangan Git dimulai pada April 2005, setelah banyak pengembang kernel Linux berhenti menggunakan BitKeeper, sebuah sistem manajemen kendali kode sumber propiertary yang telah mereka gunakan untuk mememelihara proyek Linux sejak tahun 2002.[9][10] Pemegang hak cipta BitKeeper, Larry McVoy, menghentikan penggunaan gratis produk tersebut setelah mengklaim bahwa Andrew Tridgell telah membuat SourcePuller dengan cara merekayasa balik protokol BitKeeper.[11]

Linus Torvalds menginginkan sebuah sistem terdistribusi yang bisa dia gunakan seperti BitKeeper, tetapi tidak ada sistem gratis yang memenuhi kebutuhannya. Torvalds menyebutkan contoh sebuah sistem manajemen kode sumber yang memerlukan 30 detik untuk menerapkan tambalan dan memperbarui semua metadata yang terkait, dan mengatakan bahwa ini tidak akan cukup untuk memenuhi kebutuhan pengembangan kernel Linux, di mana sinkronisasi antarpengguna bisa membutuhkan 250 tindakan pada saat yang bersamaan. Untuk kriteria desainnya, dia menetapkan bahwa penambalan sebaiknya tidak menghabiskan lebih dari tiga detik, dan menambahkan tiga hal lainnya:[12]

  • Menggunakan Concurrent Versions System (CVS) sebagai contoh apa yang jangan dilakukan; apabila ragu, lakukan kebalikan dari yang CVS lakukan.[13]
  • Mendukung alur kerja terdistribusi yang menyerupai BitKeeper.[13]
  • Memiliki pelindung sangat kuat terhadap kerusakan data, baik yang tidak disengaja maupun yang berniat buruk.[14]

Kriteria-kriteria tersebut tidak dipenuhi oleh semua sistem kendali versi yang tersedia pada saat itu, jadi setelah rilis pengembangan Linux 2.6.12-rc2, Torvalds mulai menulis sistem kendali versinya sendiri.[13]

Pengembangan Git dimulai pada 3 April 2005.[15] Torvalds mengumumkan proyeknya pada 6 April dan Git mampu melakukan self-hosting pada keesokan harinya.[15][16] Penggabungan (merge) beberapa cabang pertama kali dilakukan pada 18 April.[17] Torvalds mencapai sasaran performanya; pada 29 April, Git sudah tercatat mengirim tambalan ke pohon kernel Linux dengan kecepatan 6,7 tambalan per detik.[18] Pada 16 Juni, Git mengurus rilis 2.6.12 kernel Linux.[19]

Torvalds menyerahkan pemeliharaan pada 26 Juli 2005 kepada Junio Hamano, seorang kontributor besar dalam proyek.[20] Hamano bertanggung jawab atas rilis 1.0 pada 21 Desember 2005 dan terus menjadi pemelihara utama proyek.[21]

Rilis sunting

Daftar rilis Git:

Versi Tanggal rilis Versi (tambalan) terbaru Tanggal rilis (tambalan)
Old version, no longer supported: 0.99 2005-07-11 0.99.9n 2005-12-15
Old version, no longer supported: 1.0 2005-12-21 1.0.13 2006-01-27
Old version, no longer supported: 1.1 2006-01-08 1.1.6 2006-01-30
Old version, no longer supported: 1.2 2006-02-12 1.2.6 2006-04-08
Old version, no longer supported: 1.3 2006-04-18 1.3.3 2006-05-16
Old version, no longer supported: 1.4 2006-06-10 1.4.4.5 2008-07-16
Old version, no longer supported: 1.5 2007-02-14 1.5.6.6 2008-12-17
Old version, no longer supported: 1.6 2008-08-17 1.6.6.3 2010-12-15
Old version, no longer supported: 1.7 2010-02-13 1.7.12.4 2012-10-17
Old version, no longer supported: 1.8 2012-10-21 1.8.5.6 2014-12-17
Old version, no longer supported: 1.9 2014-02-14 1.9.5 2014-12-17
Old version, no longer supported: 2.0 2014-05-28 2.0.5 2014-12-17
Old version, no longer supported: 2.1 2014-08-16 2.1.4 2014-12-17
Old version, no longer supported: 2.2 2014-11-26 2.2.3 2015-09-04
Old version, no longer supported: 2.3 2015-02-05 2.3.10 2015-09-29
Old version, no longer supported: 2.4 2015-04-30 2.4.12 2017-05-05
Old version, no longer supported: 2.5 2015-07-27 2.5.6 2017-05-05
Old version, no longer supported: 2.6 2015-09-28 2.6.7 2017-05-05
Old version, no longer supported: 2.7 2015-10-04 2.7.6 2017-07-30
Old version, no longer supported: 2.8 2016-03-28 2.8.6 2017-07-30
Old version, no longer supported: 2.9 2016-06-13 2.9.5 2017-07-30
Old version, no longer supported: 2.10 2016-09-02 2.10.5 2017-09-22
Old version, no longer supported: 2.11 2016-11-29 2.11.4 2017-09-22
Old version, no longer supported: 2.12 2017-02-24 2.12.5 2017-09-22
Old version, no longer supported: 2.13 2017-05-10 2.13.7 2018-05-22
Old version, no longer supported: 2.14 2017-08-04 2.14.6 2019-12-07
Old version, no longer supported: 2.15 2017-10-30 2.15.4 2019-12-07
Old version, no longer supported: 2.16 2018-01-17 2.16.6 2019-12-07
Old version, no longer supported: 2.17 2018-04-02 2.17.5 2020-04-20
Old version, no longer supported: 2.18 2018-06-21 2.18.4 2020-04-20
Old version, no longer supported: 2.19 2018-09-10 2.19.5 2020-04-20
Old version, no longer supported: 2.20 2018-12-09 2.20.4 2020-04-20
Old version, no longer supported: 2.21 2019-02-24 2.21.3 2020-04-20
Older version, yet still supported: 2.22 2019-06-07 2.22.4 2020-04-20
Older version, yet still supported: 2.23 2019-08-16 2.23.3 2020-04-20
Older version, yet still supported: 2.24 2019-11-04 2.24.3 2020-04-20
Older version, yet still supported: 2.25 2020-01-13 2.25.4 2020-04-20
Older version, yet still supported: 2.26 2020-03-22 2.26.2 2020-04-20
Older version, yet still supported: 2.27 2020-06-01 2.27.0 2020-06-01
Current stable version: 2.28 2020-07-27 2.28.0 2020-07-27
Legenda:
Versi lama
Versi lebih lama, tetapi masih didukung
Versi terkini
Versi pratayang terakhir
Rilis selanjutnya
Sumber:[22]

Referensi sunting

  1. ^ "git/git.git/tree". git.kernel.org. Diakses tanggal 2009-06-15. 
  2. ^ Linus Torvalds (2006-05-05). "Re: [ANNOUNCE] Git wiki". linux mailing list. http://marc.info/?l=git&m=114685143200012.  "Some historical background" on git's predecessors
  3. ^ Linus Torvalds (2005-04-07). "Re: Kernel SCM saga". linux-kernel mailing list. http://lkml.org/lkml/2005/4/8/9. 
  4. ^ Linus Torvalds (2005-04-08). "Re: Kernel SCM saga". linux-kernel mailing list. http://marc.info/?l=linux-kernel&m=111293537202443. Diakses pada 2008-02-20. 
  5. ^ Linus Torvalds (2006-03-23). "Re: Errors GITtifying GCC and Binutils". git mailing list. http://marc.info/?l=git&m=114314642000462. 
  6. ^ "Projects that use Git for their source code management". Diarsipkan dari versi asli tanggal 2009-04-30. Diakses tanggal 2008-02-20. 
  7. ^ OLPC wiki. "Project hosting". Diarsipkan dari versi asli tanggal 2009-02-02. Diakses tanggal 2008-02-20. 
  8. ^ ""Rails is moving from SVN to Git"". Diarsipkan dari versi asli tanggal 2009-02-24. Diakses tanggal 2008-04-03. 
  9. ^ Brown, Zack (27 July 2018). "Linus Torvalds' BitKeeper blunder". InfoWorld. LinuxJournal. Diarsipkan dari versi asli tanggal 13 April 2020. Diakses tanggal 28 May 2020. 
  10. ^ BitKeeper and Linux: The end of the road? |linux.com Diarsipkan 8 June 2017 di Wayback Machine.
  11. ^ McAllister, Neil (2 May 2005). "Linus Torvalds' BitKeeper blunder". InfoWorld. IDG. Diarsipkan dari versi asli tanggal 26 August 2015. Diakses tanggal 8 September 2015. 
  12. ^ Torvalds, Linus (2005-04-07). "Re: Kernel SCM saga..". linux-kernel mailing list. https://marc.info/?l=linux-kernel&m=111288700902396.  "So I'm writing some scripts to try to track things a whole lot faster."
  13. ^ a b c Linus Torvalds (3 May 2007). Google tech talk: Linus Torvalds on git. Berlangsung pada 02:30. Diarsipkan dari versi asli tanggal 28 May 2007. Diakses tanggal 16 May 2007. 
  14. ^ Torvalds, Linus (2007-06-10). "Re: fatal: serious inflate inconsistency". git mailing list. https://marc.info/?l=git&m=118143549107708. 
  15. ^ a b Torvalds, Linus (2007-02-27). "Re: Trivia: When did git self-host?". git mailing list. https://marc.info/?l=git&m=117254154130732. 
  16. ^ Torvalds, Linus (2005-04-06). "Kernel SCM saga..". linux-kernel mailing list. https://marc.info/?l=linux-kernel&m=111280216717070. 
  17. ^ Torvalds, Linus (2005-04-17). "First ever real kernel git merge!". git mailing list. https://marc.info/?l=git&m=111377572329534. 
  18. ^ Mackall, Matt (2005-04-29). "Mercurial 0.4b vs git patchbomb benchmark". git mailing list. https://marc.info/?l=git&m=111475459526688. 
  19. ^ Torvalds, Linus (2005-06-17). "Linux 2.6.12". git-commits-head mailing list. https://marc.info/?l=git-commits-head&m=111904216911731. 
  20. ^ Torvalds, Linus (2005-07-27). "Meet the new maintainer...". git mailing list. https://marc.info/?l=git&m=112243466603239. 
  21. ^ Hamano, Junio C. (2005-12-21). "Announce: Git 1.0.0". git mailing list. https://marc.info/?l=git&m=113515203321888. 
  22. ^ "Salinan arsip". Diarsipkan dari versi asli tanggal 2017-09-20. Diakses tanggal 2020-08-16. 

Lihat pula sunting

Pranala luar sunting