Selamat datang di seri baru: Git dan GitHub. Kalau seri JavaScript Basic kemarin tentang "cara bikin program", seri ini tentang "cara mengelola program supaya tidak berantakan". Ini bukan topik opsional atau "nanti saja". Di dunia kerja, Git dipakai setiap hari, dan pertanyaan interview "coba jelaskan git" hampir tidak pernah absen.
Kenapa seri ini ada di urutan sekarang? Karena sampai titik ini kodemu cuma hidup di laptopmu dalam bentuk file biasa. Belum ada riwayat perubahan, belum ada cadangan, belum ada cara pamer ke orang lain. Begitu proyekmu membesar (dan pasti membesar), kamu butuh sistem yang mencatat setiap perubahan kode seperti mesin waktu.
Di artikel pembuka ini kita tidak menyentuh terminal sama sekali. Kita bangun dulu pemahamannya: apa itu Git, apa bedanya dengan GitHub, dan kenapa programmer yang tidak bisa Git itu seperti koki yang tidak bisa menyimpan resepnya sendiri.
Masalah yang Diselesaikan Git
Bayangkan kamu mengerjakan tugas akhir. Folder-mu berisi: tugas-final.docx, tugas-final-revisi.docx, tugas-final-revisi2.docx, tugas-final-beneran-final.docx, tugas-final-beneran-final-v2.docx. Kedengarannya familiar? Itu cara manusia menyimpan "versi" tanpa alat bantu: duplikat file dengan nama makin putus asa.
Masalahnya: cara ini tidak mencatat apa yang berubah antar versi, tidak tahu kapan berubah, dan kalau dua orang mengedit bersamaan, hasilnya tabrakan. Sekarang bayangkan itu terjadi di proyek dengan 100 ribu baris kode dan 50 programmer. Kacau.
Git adalah version control system: alat yang mencatat setiap perubahan file dalam proyekmu sebagai riwayat yang rapi. Setiap "versi" tersimpan sebagai commit: foto (snapshot) kondisi proyek plus catatan siapa yang mengubah, kapan, dan kenapa. Kamu bisa melihat riwayatnya, membandingkan dua versi, dan kembali ke versi kapan pun kalau versi terbaru ternyata rusak.
Git Bukan GitHub: Bedakan dari Hari Pertama
Ini kesalahpahaman nomor satu di kalangan pemula, jadi kita luruskan sekarang juga dengan analogi sederhana:
- Git = kameranya. Alat yang memotret dan menyimpan riwayat. Berjalan di laptopmu, tidak butuh internet.
- GitHub = Instagram-nya. Tempat menyimpan dan memamerkan hasil jepretan ke internet supaya bisa dilihat orang lain dan dikerjakan bareng.
Kamu bisa pakai kamera tanpa Instagram (Git bisa dipakai 100 persen offline di laptopmu). Tapi kamu tidak bisa pakai Instagram tanpa kamera (GitHub butuh Git sebagai mesin di balik layarnya). Git dibuat oleh Linus Torvalds (pembuat Linux juga) tahun 2005, gratis dan open source. GitHub adalah perusahaan yang menyediakan hosting untuk repo Git, plus fitur kolaborasi seperti pull request dan issue.
Seri ini berurutan dengan sengaja: tiga artikel pertama (#30-32) murni tentang Git di laptopmu, tanpa akun apa pun. Baru di #33 kita naik ke GitHub. Kalau kamu sudah paham Git lokal, GitHub akan terasa seperti "oh, cuma mindahin ke internet".
Satu fakta yang bikin banyak orang kaget: Git dipakai bukan cuma untuk kode. Penulis buku, desainer, bahkan peneliti memakai Git untuk melacak naskah, desain, dan data eksperimen. Intinya sama: pekerjaan kreatif apa pun butuh riwayat. Tapi di seri ini kita fokus ke kode, karena itulah kebutuhanmu sebagai calon programmer.
Terakhir, jangan tunggu "siap" untuk mulai pakai Git. Tidak ada ujian masuk. Repo pertamamu boleh berantakan, commit pertamamu boleh canggung. Semua programmer hebat pernah punya commit pertama yang memalukan. Yang membedakan mereka dengan yang menyerah adalah: mereka tetap commit setiap hari.
Berhenti dan tebak dulu! Mana pernyataan yang benar?
A. Tanpa akun GitHub, Git tidak bisa dipakai sama sekali.
B. Git bisa mencatat riwayat proyek sepenuhnya offline di laptop, GitHub hanya tempat berbagi salinannya ke internet.
Kenapa Programmer Wajib Bisa: Tiga Alasan
Pertama: mesin waktu untuk kodemu. Pernah mengubah kode lalu semuanya rusak dan kamu tidak ingat apa yang diubah? Dengan Git, kamu tinggal melihat riwayat commit dan kembali ke versi yang masih waras. Tanpa Git, kamu mengandalkan ingatan dan doa.
Kedua: bahasa kolaborasi tim. Di dunia kerja, kode tidak ditulis sendirian. Git memungkinkan banyak orang mengerjakan file yang sama tanpa saling menimpa, lewat mekanisme branch dan merge (kita bahas di #34-35). Tidak bisa Git = tidak bisa kerja tim = tidak bisa kerja.
Ketiga: portofolio dan rekam jejak. Profil GitHub yang aktif adalah CV programmer modern. Perekrut melihat riwayat commit-mu untuk menilai konsistensi dan cara kerjamu. Seri ini diakhiri dengan GitHub Pages (#37) supaya kamu punya portofolio online sungguhan.
Keempat, yang jarang disadari pemula: Git melatih cara berpikir rapi. Karena setiap perubahan harus "dibungkus" jadi commit dengan pesan yang jelas, kamu terbiasa memecah kerjaan jadi langkah-langkah kecil yang masuk akal. Programmer yang terbiasa commit rutin biasanya juga menulis kode yang lebih terstruktur, karena keduanya butuh kebiasaan yang sama: memecah masalah besar jadi potongan kecil. Git bukan cuma alat, ia melatih disiplin.
Dua Persepsi yang Sering Salah
Pertama: "Git itu ribet, cuma buat proyek besar." Justru proyek kecil dan latihan harianmu yang paling butuh Git. Proyek besar punya tim dan prosedur cadangan. Proyek latihanmu cuma punya kamu. Mulai pakai Git dari proyek sekecil apa pun, supaya tangannya terbiasa sebelum masuk proyek besar.
Kedua: "Belajar Git = menghafal 50 perintah." Tidak. Untuk 90 persen kerjaan sehari-hari kamu cuma butuh segenggam perintah: init, add, commit, status, log, push, pull. Seri ini fokus ke itu dulu. Perintah eksotis bisa dipelajari saat dibutuhkan, dan saat itu dokumentasi selalu ada.
Konsep Kunci: Tiga Ruang di Git
Sebelum praktik di artikel berikutnya, pahami dulu peta mentalnya. Git punya tiga ruang tempat file-mu berada:
- Working directory: file-file yang sedang kamu edit di laptop, seperti biasa.
- Staging area: "ruang tunggu". File yang kamu tandai dengan
git addmasuk ke sini, artinya "perubahan ini siap difoto". - Repository: album foto permanen.
git commitmemotret semua yang ada di ruang tunggu dan menyimpannya selamanya di riwayat.
Kenapa ada ruang tunggu segala? Supaya kamu bisa memilih perubahan mana yang masuk ke satu foto. Misalnya kamu mengerjakan dua fitur sekaligus tapi mau menyimpannya sebagai dua commit terpisah yang rapi. Tanpa staging area, semua perubahan tercampur jadi satu. Ruang tunggu = kontrol.
Kuis cepat: Apa fungsi staging area?
Latihan: Tanpa Terminal Dulu
Artikel ini memang tanpa praktik terminal, tapi ada latihan berpikir:
- Audit folder latihanmu. Buka folder tempat kamu menyimpan latihan JavaScript seri kemarin. Hitung ada berapa file "versi" yang namanya mirip-mirip (copy-an dengan nama v2, final, revisi). Bayangkan kalau semua itu tercatat rapi sebagai riwayat Git. Itulah yang akan kita bangun.
- Jelaskan ke teman. Coba jelaskan bedanya Git dan GitHub ke temanmu dalam 3 kalimat memakai analogi kamera dan Instagram. Kalau temanmu paham, berarti kamu paham. Kalau kamu bingung di tengah jalan, baca lagi bagian "Git Bukan GitHub" di atas.
- Siapkan mental terminal. Seri ini banyak memakai command line. Kalau kamu belum nyaman, tidak apa-apa: setiap perintah akan dijelaskan baris per baris. Tapi pastikan kamu tahu cara membuka terminal di komputermu (di Windows: Git Bash setelah install Git di artikel berikutnya).
Habis Ini ke Mana?
Teorinya cukup. Artikel berikutnya, Cara Install Git dan Konfigurasi Awal, kita mulai praktik: install Git di Windows, Mac, atau Linux, verifikasi instalasinya, lalu konfigurasi identitas (nama dan email) yang akan menempel di setiap commit-mu selamanya. Siapkan 15 menit dan koneksi internet untuk download installernya.
Diskusi & Komentar 0
Punya tanggapan, pertanyaan, atau tips seputar tutorial ini? Tulis komentar kamu di bawah!
Jadilah yang pertama membuka obrolan dan berbagi pandangan seputar tutorial resep kode ini.
Tulis Komentar
Komentar menggunakan akun Google. Harap berkomentar dengan santun dan berbobot.