Sebelum mulai menggunakan Git, penting untuk memahami apa itu Git, mengapa ia diciptakan, dan mengapa hampir semua developer di dunia menggunakannya setiap hari.
Git adalah sistem kontrol versi (version control system) yang paling populer di dunia. Git memungkinkan kamu untuk melacak setiap perubahan yang terjadi pada file di dalam proyekmu dari waktu ke waktu.
Bayangkan Git seperti mesin waktu untuk kode-mu — kamu bisa melihat kondisi proyek di masa lalu, membandingkan versi berbeda, atau kembali ke versi sebelumnya jika ada yang salah.
Tanpa Git:
proyek-v1.zip
proyek-v2.zip
proyek-v2-fix.zip
proyek-v2-fix-final.zip
proyek-v2-fix-final-BENAR.zip ← sudah tidak terkontrol!
Dengan Git:
proyek/
└── semua versi tersimpan rapi secara otomatis di dalam .git/
Git diciptakan oleh Linus Torvalds — orang yang sama yang menciptakan Linux — pada tahun 2005. Ia membuatnya karena tidak puas dengan sistem kontrol versi yang ada saat itu. Tujuannya:
| Masalah | Solusi Git |
|---|---|
| File terhapus tidak sengaja | Bisa dikembalikan dari history |
| Ingin coba fitur baru tanpa merusak yang ada | Gunakan branch |
| Beberapa orang edit file yang sama | Git bisa menggabungkan perubahan |
| Tidak tahu siapa yang mengubah apa | git log dan git blame mencatat segalanya |
| Perlu versi stabil untuk produksi | Tag dan branch untuk manajemen rilis |
Ini sering membingungkan pemula:
Git → software yang berjalan di komputermu
(alat untuk version control)
GitHub → layanan cloud untuk menyimpan repositori Git secara online
(seperti Google Drive, tapi khusus untuk kode)
Ada juga alternatif GitHub seperti GitLab dan Bitbucket — semuanya menggunakan Git di bawahnya.
Sebuah repository (disingkat repo) adalah folder proyek yang dikelola oleh Git. Di dalamnya ada folder tersembunyi .git/ yang menyimpan seluruh history perubahan:
proyek-ku/
├── .git/ ← folder tersembunyi, jangan dihapus!
│ ├── commits
│ ├── branches
│ └── config
├── index.html
├── style.css
└── script.js
Ada dua jenis repositori:
Berbeda dengan sistem terpusat (centralized), Git bersifat terdistribusi (distributed):
Sistem Terpusat (SVN):
Developer A ──┐
Developer B ──┤──→ Server Pusat ← semua tersimpan di sini
Developer C ──┘ (jika server mati, semua terhenti)
Sistem Terdistribusi (Git):
Developer A → repo lokal penuh + sync ke remote
Developer B → repo lokal penuh + sync ke remote
Developer C → repo lokal penuh + sync ke remote
↓
GitHub/GitLab (remote)
Karena setiap developer punya salinan penuh, pekerjaan tetap bisa berjalan meski internet mati.
💡 Tips: Git bukan hanya untuk developer! Penulis, desainer, dan tim riset juga menggunakan Git untuk mengelola dokumen, aset desain, dan data penelitian. Siapa pun yang bekerja dengan file yang terus berubah akan terbantu oleh Git. 🚀
Kursus
Git Dasar
Kategori
Pengenalan Git
Durasi Pelajaran
20 menit