gitgithubkonsepPemula3 mnt baca

Git vs GitHub: Jangan Tertukar Lagi

Bedakan Git (program lokal) dengan GitHub (layanan online), plus kenalan GitLab dan Bitbucket.

Dua hal berbeda yang namanya mirip

Ini jebakan paling umum untuk pemula, jadi mari diluruskan sekali dan untuk selamanya:

  • Git adalah program yang berjalan di komputermu. Ia bekerja 100% offline, tanpa internet, tanpa akun, tanpa daftar ke mana pun.
  • GitHub adalah website dan layanan milik Microsoft tempat menyimpan repository Git secara online, lengkap dengan fitur kolaborasi seperti Pull Request, Issues, dan Actions.

Analoginya begini: Git itu seperti Microsoft Word yang terinstall di laptop, sedangkan GitHub itu seperti Google Drive tempat kamu menyimpan dokumennya supaya bisa diakses dari mana saja dan dibagi ke orang lain. Kamu bisa memakai Word seumur hidup tanpa pernah menyentuh Google Drive, begitu pula kamu bisa memakai Git tanpa pernah menyentuh GitHub.

Kenapa namanya mirip? Karena GitHub memang dibangun di atas Git, seperti "toko roti" dibangun di atas "roti". Namanya menempel, bendanya berbeda.

Kenapa GitHub ada? Apa yang ditambahkan?

Git sendirian sebenarnya sudah lengkap untuk menyimpan riwayat. GitHub menambahkan tiga hal yang Git sendirian tidak punya:

  1. Backup online dan akses dari mana saja. Repo-mu tersimpan di server GitHub. Laptop hilang atau rusak? Clone lagi dari GitHub, riwayat lengkap kembali.
  2. Kolaborasi. Pull Request, code review, dan diskusi semua dalam satu tempat. Inilah alasan GitHub jadi standar industri.
  3. Otomatisasi. GitHub Actions bisa menjalankan test dan deploy otomatis setiap ada push. Kamu push kode, server langsung ngetes dan men-deploy.

Alur tipikalnya: kamu commit secara lokal dengan Git (offline, cepat, tanpa antre), lalu git push untuk mengirim riwayat ke GitHub saat butuh backup atau kolaborasi. Commit = kerja lokal, push = sinkronisasi online.

Alternatif GitHub

GitHub bukan satu-satunya pemain. Dua pesaing besarnya:

  • GitLab: mirip GitHub, kuat di CI/CD bawaan, populer untuk self-hosting di perusahaan yang tidak mau kodenya di server orang lain.
  • Bitbucket: buatan Atlassian, terintegrasi rapi dengan Jira dan Trello.

Semuanya berbicara "bahasa Git" yang sama. Perintah clone, push, pull yang kamu pelajari di kursus ini berlaku identik di ketiganya. Pindah layanan tinggal ganti URL remote, ilmunya tidak hangus.

Catatan teknis: karena Git terdistribusi, "remote" hanyalah salinan repo lain yang diberi nama (biasanya origin). GitHub hanyalah remote yang nyaman, bukan bagian wajib dari Git. Kamu bisa push ke server sendiri, ke flashdisk, bahkan tidak push sama sekali dan Git tetap berguna penuh.

Contoh nyata 1: Git tanpa GitHub (full offline)

Ini bukti Git tidak butuh GitHub sama sekali:

bash
mkdir proyek-rahasia && cd proyek-rahasia
git init
echo "data penting" > data.txt
git add data.txt
git commit -m "Simpan data penting"
git log --oneline
bash
9d4e2b7 Simpan data penting

Perhatikan: tidak ada akun, tidak ada internet, tidak ada website. Git tetap mencatat riwayat dengan sempurna. Inilah kekuatan Git sebagai program lokal.

Contoh nyata 2: menghubungkan ke GitHub (saat butuh backup)

Setelah punya akun GitHub dan membuat repository kosong di sana, hubungkan repo lokalmu:

bash
git remote add origin https://github.com/username/proyek-rahasia.git
git push -u origin main
bash
Enumerating objects: 3, done.
Writing objects: 100% (3/3), 241 bytes | 241.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/username/proyek-rahasia.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.

Baris terakhir artinya branch lokalmu sekarang "terhubung" dengan branch di GitHub. Push berikutnya cukup git push saja, tanpa embel-embel. Detail perintah remote dan push dibahas tuntas di bab 4 dan 5.

Kapan pakai yang mana?

Pakai Git saja saat: belajar, proyek pribadi, eksperimen offline, atau mengerjakan sesuatu yang belum siap dilihat orang. Tambahkan GitHub saat: butuh backup online, membangun portofolio publik, atau kerja bareng orang lain. Di kursus ini kamu akan memakai keduanya, jadi siapkan akun GitHub gratis mulai sekarang di github.com.

Kesalahan umum pemula

Salah: Mengira harus online untuk commit, lalu menunda commit saat WiFi mati. Benar: Commit itu 100% lokal. WiFi mati justru saat yang tepat untuk commit banyak-banyak, push-nya nanti saat online.

Salah: Membuat akun GitHub dulu sebagai "syarat" sebelum belajar Git, lalu bingung sendiri di dashboard GitHub. Benar: Urutannya: kuasai Git lokal dulu (init, add, commit, log), baru sentuh GitHub. GitHub tanpa paham Git itu seperti punya Google Drive tapi tidak bisa memakai Word.

Salah: Push setiap satu commit kecil karena mengira GitHub itu "save online" yang wajib sinkron terus. Benar: Commit sesering yang kamu mau secara lokal, push saat satu paket kerja selesai atau saat butuh backup. Push 3 kali sehari itu normal, push 30 kali sehari itu melelahkan.

Salah: Mengira menghapus repository di GitHub akan menghapus riwayat di laptop. Benar: Tidak. Salinan lokalmu tetap utuh lengkap dengan seluruh riwayatnya. GitHub hanyalah salah satu salinan, bukan yang utama.

Tantangan

Kuis kilat konsep

Jawab tanpa menyontek: (1) Apakah kamu bisa commit tanpa internet? (2) Di mana Pull Request dibuat, di Git atau di GitHub? (3) Sebutkan satu alternatif GitHub selain GitLab. Cocokkan jawabanmu dengan modul ini.