Setelah masalah pengelolaan berkas manual dan kategori solusinya terlihat jelas, saatnya berkenalan dengan alat yang akan kita pakai sepanjang Course ini. Git adalah sistem version control terdistribusi yang diciptakan oleh Linus Torvalds pada tahun 2005 untuk memenuhi kebutuhan pengembangan kernel Linux. Dua puluh tahun kemudian, Git menjadi standar de facto: dari proyek tugas kuliah hingga basis kode terbesar di dunia dikelola dengannya. Pada chapter ini kita mengenal identitas Git, lima tujuan desainnya, tiga fitur kunci yang menjelaskan perilakunya, serta versi Git yang dipakai dalam pengujian materi Course.
Git Adalah Sistem Version Control Terdistribusi #
Git adalah program free and open source yang berjalan di terminal. Sebagaimana dibahas pada chapter Mengenal Version Control , Git termasuk kategori terdistribusi: setiap orang yang menyalin proyek mendapatkan salinan riwayat yang lengkap, bukan sekadar berkas terbaru.
Linus Torvalds bukan tokoh asing di dunia perangkat lunak — beliau adalah pencipta Linux, sistem operasi yang menjalankan sebagian besar server internet saat ini. Git dibuat bukan sebagai proyek bisnis, melainkan sebagai jawaban darurat atas kebutuhan nyata pengembangan kernel: ribuan kontributor, puluhan ribu berkas, dan perubahan yang datang setiap hari. Cerita lengkap kelahirannya dibedah pada chapter Sejarah dan Perkembangan Git .
Lima Tujuan Desain Git #
Sesuai catatan buku resmi Pro Git , Git dirancang dengan lima tujuan yang diturunkan langsung dari kebutuhan kernel Linux. Tabel berikut menerjemahkan kelima tujuan tersebut ke dalam wujud yang kita rasakan sebagai pengguna:
| Tujuan desain | Wujudnya dalam praktik |
|---|---|
| Kecepatan | Mayoritas operasi selesai hampir seketika tanpa jaringan |
| Desain sederhana | Model data inti tetap konsisten selama dua dekade |
| Dukungan kuat untuk pengembangan nonlinier | Ribuan branch paralel berjalan murah |
| Sepenuhnya terdistribusi | Setiap clone adalah repositori lengkap |
| Mampu menangani proyek sebesar kernel Linux | Performa stabil pada puluhan ribu berkas |
Kelima tujuan itu saling menguatkan. Karena sepenuhnya terdistribusi, operasi riwayat berjalan lokal; karena berjalan lokal, kecepatannya tinggi; dan karena branch murah, pengembangan nonlinier menjadi alur normal, bukan pengecualian.
Tiga Fitur Kunci Git #
Tiga karakteristik berikut menjelaskan sebagian besar perilaku Git yang akan kita temui sepanjang Course. Ketiganya pula yang membedakan Git dari sistem generasi sebelumnya.
Snapshot, Bukan Rangkaian Diff #
Git menyimpan proyek sebagai rangkaian snapshot — potret lengkap kondisi berkas pada suatu titik waktu. Untuk berkas yang tidak berubah di antara dua snapshot, Git cukup merujuk versi sebelumnya, sehingga hemat penyimpanan. Sistem generasi lama umumnya menyimpan daftar perubahan (diff) per berkas; akibatnya, menampilkan keadaan proyek pada titik waktu lama harus direkonstruksi dengan menjumlahkan seluruh diff dari awal. Pada Git, setiap versi tinggal diambil langsung.
Mayoritas Operasi Bersifat Lokal #
Menambahkan commit, melihat riwayat, membandingkan versi, berpindah branch — semuanya terjadi di repositori pada komputer kita, tanpa satu pun akses jaringan. Jaringan baru dibutuhkan saat bertukar perubahan dengan repositori lain. Inilah alasan mengerjakan commit di pesawat terbang atau di daerah tanpa sinyal tetap biasa saja dengan Git.
Integritas Berbasis Checksum SHA-1 #
Sebelum disimpan, setiap isi berkas dan setiap struktur di Git dihitung nilai checksum SHA-1-nya — deretan 40 karakter heksadesimal yang unik bagi setiap isi berbeda. Riwayat Git merujuk setiap objek lewat checksum tersebut, sehingga isi tidak mungkin berubah tanpa Git mengetahuinya. Checksum inilah yang menjadi identitas commit dan akan sering kita lihat pada chapter-chapter praktik.
Versi Git yang Dipakai Course Ini #
Materi Course Git diuji pada Git 2.47.3, sedangkan versi stabil terbaru saat materi disusun adalah 2.56.0. Seluruh contoh pada Course difokuskan pada perilaku yang stabil di seri 2.x, sehingga versi 2.47 ke atas aman dipakai untuk mengikuti latihan.
Untuk melihat versi Git yang terpasang di komputer kita, jalankan:
git --versionOutput yang Dihasilkan:
git version 2.47.3Output di atas berasal dari lingkungan pengujian Course; komputer pembaca dapat menampilkan nomor versi yang lebih baru, misalnya git version 2.56.0. Keduanya masih seri 2.x, dan seluruh perintah inti Course bekerja sama saja. Panduan memasang serta memverifikasi Git di Linux, Windows, macOS, dan WSL dibahas pada section Instalasi dan Konfigurasi
.
Kita sudah mengenal identitas dan karakter Git. Sebelum menyentuh cara kerjanya, ada satu kisah yang layak dibaca: bagaimana sengketa lisensi satu alat komersial memaksa lahirnya Git dalam hitungan hari — materi chapter Sejarah dan Perkembangan Git .