Git dan GitHub: apa bedanya dan bagaimana keduanya saling terhubung
Git adalah program kontrol versi yang berjalan di komputer Anda dan menyimpan riwayat perubahan proyek. GitHub adalah layanan cloud untuk menyimpan repositori Git, ditambah alat kerja tim seperti pull request, review kode, tugas, dan CI. Git bisa dipakai tanpa GitHub, tetapi GitHub tidak bisa dipakai tanpa Git.
Git dan GitHub sering tertukar, padahal keduanya berada di level yang berbeda. Git adalah program kontrol versi yang Anda pasang di komputer: ia mencatat setiap kondisi proyek yang disimpan dan memungkinkan Anda kembali ke kondisi tersebut. GitHub adalah layanan web tempat repositori Git disimpan, dan di sekitarnya dibangun alat untuk kerja tim. Cara termudah mengingatnya: Git adalah mesinnya, GitHub adalah bengkel dengan layanan tempat mesin itu bisa dipasang.
Apa itu Git
Git adalah sistem kontrol versi terdistribusi. Linus Torvalds menciptakannya pada 2005 untuk mengembangkan kernel Linux, dan sejak itu Git menjadi standar industri. Git bekerja sepenuhnya secara lokal: riwayat perubahan disimpan di folder tersembunyi .git di dalam proyek, dan untuk sebagian besar operasi Anda tidak membutuhkan internet.
Kata «terdistribusi» di sini penting. Setiap anggota tim memiliki salinan lengkap repositori beserta seluruh riwayatnya di komputernya, bukan hanya berkas terakhir. Jika server hilang, proyek bisa dipulihkan dari mesin kerja mana pun.
Yang bisa dilakukan Git sendiri:
- mencatat perubahan sebagai commit, yaitu snapshot proyek dengan penulis, tanggal, dan deskripsi;
- menunjukkan siapa, kapan, dan mengapa sebuah baris diubah (
git log,git blame); - menjalankan beberapa jalur pengembangan paralel di branch dan menggabungkannya;
- membatalkan kesalahan tanpa kehilangan pekerjaan lain;
- bertukar riwayat dengan repositori lain lewat
git push,git pull, dangit fetch.
Git adalah utilitas command line. Klien grafis dan panel Git di editor (VS Code, IntelliJ IDEA) hanyalah antarmuka di atas perintah yang sama.
Apa itu GitHub
GitHub adalah platform cloud untuk hosting repositori Git, kini dimiliki oleh Microsoft. Di sana Anda membuat repositori, mengirim kode lokal dengan git push, dan kode itu menjadi bisa diakses rekan tim, pemberi kerja, atau seluruh internet jika repositorinya publik.
Namun nilai GitHub bukan hanya penyimpanan. Di sekitar repositori, GitHub menambahkan fitur yang tidak ada di Git itu sendiri:
- Pull request — permintaan penggabungan branch dengan diskusi dan review kode per baris;
- Issues — tugas dan laporan bug yang terkait dengan proyek;
- GitHub Actions — CI/CD: menjalankan tes, build, dan deploy secara otomatis pada setiap push;
- pengaturan akses — siapa yang boleh membaca, menulis, atau menggabungkan ke branch yang dilindungi;
- profil developer — grafik aktivitas dan proyek publik yang sering dilihat oleh perekrut;
- GitHub Pages — hosting gratis untuk situs statis langsung dari repositori.
Pencarian seperti «github itu apa» atau «git hub» biasanya merujuk ke layanan ini, yang beralamat di github.com. Situs resmi Git sendiri adalah git-scm.com, tempat installer Git diunduh.
Git dan GitHub: perbandingan dalam tabel
| Kriteria | Git | GitHub |
|---|---|---|
| Apa itu | Program kontrol versi | Layanan web untuk hosting repositori |
| Berjalan di mana | Di komputer Anda | Di cloud, lewat browser dan API |
| Perlu internet | Tidak, kecuali untuk bertukar dengan remote | Ya |
| Lisensi | Kode terbuka (GPLv2), gratis | Layanan proprietary, ada paket gratis dan berbayar |
| Antarmuka | Command line, klien GUI | Situs web, aplikasi GitHub Desktop, CLI gh |
| Tujuan utama | Riwayat versi, branch, penggabungan | Kerja sama tim, review, CI, publikasi kode |
| Bisa dipakai sendiri? | Ya, sepenuhnya | Tidak, GitHub dibangun di atas Git |
Bagaimana Git dan GitHub bekerja bersama
Penghubung keduanya adalah remote, yaitu repositori jarak jauh. Repositori lokal menyimpan alamat repositori di GitHub dengan nama pendek, secara default origin. Pertukaran dilakukan dengan tiga perintah:
git push— mengirim commit baru Anda ke server;git fetch— mengunduh commit orang lain tanpa menyentuh berkas Anda;git pull— mengunduh dan langsung menggabungkan perubahan ke branch aktif (pada dasarnyafetch+mergeataurebase).
Penting: GitHub tidak melihat kode Anda sampai Anda mengirimnya. Commit hanya ada secara lokal sampai git push pertama. Ini kesalahan umum pemula: «Saya sudah commit, tapi di GitHub tidak ada apa-apa.»
Jalur umum: dari proyek lokal ke GitHub
# 1. Membuat repositori secara lokal
cd my-project
git init
git add .
git commit -m "Commit pertama"
# 2. Membuat repositori kosong di github.com (tanpa README),
# menyalin alamatnya lalu menghubungkannya sebagai remote
git remote add origin git@github.com:username/my-project.git
# 3. Mengganti nama branch menjadi main lalu mengirimnya
git branch -M main
git push -u origin main
Flag -u (bentuk panjangnya --set-upstream) menghubungkan branch main lokal dengan branch remote. Setelah itu, cukup menulis git push dan git pull tanpa argumen.
Jalur sebaliknya: mulai dari repositori di GitHub
Jika proyek sudah ada di GitHub, Anda tidak perlu membuatnya lagi, cukup mengklonkannya:
git clone https://github.com/username/my-project.git
cd my-project
Perintah ini mengunduh seluruh riwayat dan otomatis mengatur remote origin.
Autentikasi: SSH atau HTTPS
Sejak 2021, GitHub tidak lagi menerima kata sandi akun untuk operasi Git lewat HTTPS. Ada dua cara yang bisa dipakai.
HTTPS + Personal Access Token. Token dibuat di pengaturan akun (Settings → Developer settings) dan dimasukkan sebagai pengganti kata sandi. Agar tidak perlu memasukkannya setiap kali, Git memakai pengelola kredensial; di Windows ia sudah ikut terpasang bersama Git untuk Windows.
Kunci SSH. Cara yang diharapkan dikuasai oleh pemberi kerja:
# Membuat kunci
ssh-keygen -t ed25519 -C "you@example.com"
# Menampilkan kunci publik lalu menambahkannya ke GitHub:
# Settings → SSH and GPG keys → New SSH key
cat ~/.ssh/id_ed25519.pub
# Memeriksa koneksi
ssh -T git@github.com
Jika berhasil, GitHub akan menyapa dengan nama login Anda dan memberi tahu bahwa akses shell tidak tersedia. Itu normal. Dalam mode SSH, alamat repositorinya harus berbentuk git@github.com:user/repo.git, bukan https://.
Jika repositori sudah terhubung lewat HTTPS, Anda bisa mengubahnya ke SSH dengan satu perintah:
git remote set-url origin git@github.com:username/my-project.git
GitHub, GitLab, dan lainnya: apa bedanya
GitHub bukan satu-satunya hosting untuk Git. Semua layanan tersebut menjalankan Git yang sama, sehingga repositori bisa dipindahkan dari satu ke yang lain tanpa kehilangan riwayat. Perbedaannya ada pada perangkat di sekitar kode.
| Layanan | Ciri khas | Kapan dipilih |
|---|---|---|
| GitHub | Komunitas open source terbesar, GitHub Actions, Copilot | Portofolio, proyek terbuka, sebagian besar startup |
| GitLab | CI/CD bawaan, bisa dipasang di server sendiri (self-hosted) | Perusahaan yang ingin kodenya berada dalam infrastruktur sendiri |
| Bitbucket | Integrasi dengan Jira dan produk Atlassian | Tim yang bekerja dalam ekosistem Atlassian |
| Gitea, Forgejo | Solusi self-hosted ringan dan open source | Tim kecil, server rumahan |
Di GitLab permintaan penggabungan disebut merge request, di GitHub disebut pull request, tetapi maknanya sama: mengajukan perubahan dari sebuah branch dan mendiskusikannya sebelum digabung. Istilahnya berbeda, perintah Git-nya sama.
Dalam satu repositori lokal Anda bisa memiliki beberapa remote sekaligus, misalnya untuk menduplikasi proyek ke GitHub dan GitLab:
git remote add gitlab git@gitlab.com:username/my-project.git
git push gitlab main
git remote -v
Perlukah GitHub jika saya bekerja sendiri
Secara teknis tidak. Git sangat baik bekerja lokal. Namun remote memberi tiga keuntungan besar bahkan untuk proyek pribadi:
- Cadangan. Laptop rusak? Kode dan seluruh riwayatnya tetap aman di server.
- Bekerja dari berbagai perangkat. Di rumah dan di kantor, Anda menyinkronkan kode lewat
pushdanpull. - Portofolio. Saat melamar posisi junior, profil GitHub sering dilihat lebih dulu daripada CV: apakah ada proyek nyata, pesan commit yang bermakna, dan README.
Langkah pertama bagi pemula
Jangan belajar Git dan GitHub sekaligus; urutannya penting. Kuasai dulu siklus lokal: git init, git status, git add, git commit, git log, branch, dan penggabungan. Setelah itu terbiasa tanpa bantuan, daftarlah di GitHub, atur SSH, dan pelajari push, pull, serta fetch. Langkah terakhir adalah proses kerja tim: fork, branch untuk tiap tugas, pull request, dan review.
Apa yang dilihat pemberi kerja di GitHub Anda
Kotak-kotak hijau aktivitas bukan yang utama. Reviewer berpengalaman menilai hal lain dalam beberapa menit:
- pesan commit yang jelas, bukan «fix», «123», atau «revisi»;
- commit kecil dan logis, bukan satu commit raksasa «upload proyek»;
- README yang menjelaskan cara menjalankan proyek;
- berkas
.gitignore: tidak adanode_modules,.envberisi kata sandi, atau berkas IDE; - branch dan pull request, bahkan pada proyek latihan, yang menunjukkan Anda mengenal proses kerja tim.
Kesalahan umum pemula
«fatal: not a git repository»
Perintah Git dijalankan di luar repositori. Masuk ke folder proyek atau jalankan git init. Pendaftaran di GitHub tidak ada hubungannya dengan error ini; ini kesalahan lokal Git.
«Permission denied (publickey)»
Kunci SSH belum dibuat, belum ditambahkan ke GitHub, atau belum dimuat ke ssh-agent. Periksa dengan ssh -T git@github.com dan daftar kunci di pengaturan akun.
«rejected … (fetch first)» saat push
Ada commit di server yang belum Anda miliki, misalnya karena repositori di GitHub dibuat bersama README. Ambil perubahan dulu dengan git pull --rebase origin main, lalu ulangi git push. Jangan gunakan --force sebelum Anda yakin pekerjaan siapa yang akan tertimpa.
Rahasia di repositori publik
Kata sandi atau kunci API yang sudah masuk ke commit akan tetap ada di riwayat, walaupun berkasnya dihapus kemudian. Kunci seperti itu harus segera dibuat ulang, dan sebaiknya .env dimasukkan ke .gitignore sejak awal.
Ringkasan
Git adalah alat kontrol versi di komputer Anda, sedangkan GitHub adalah layanan tempat repositori tersebut disimpan di cloud dan kerja tim dibangun di sekelilingnya. GitLab, Bitbucket, dan lainnya adalah alternatif untuk GitHub, bukan alternatif untuk Git: di semuanya berlaku commit, branch, dan perintah yang sama. Mulailah dari Git lokal, lalu hubungkan remote dan atur SSH. Menghubungkan repositori lokal dengan GitHub, push, pull, dan fetch dibahas dengan praktik dalam kursus Git.
Pertanyaan umum
Apakah GitHub gratis?
Ya, paket gratisnya memungkinkan membuat repositori publik dan privat dalam jumlah tak terbatas. Paket berbayar menambahkan fitur untuk tim dan menit GitHub Actions yang lebih banyak untuk proyek privat.
Bisakah memakai GitHub tanpa command line?
Bisa, lewat GitHub Desktop atau panel Git di editor. Namun alat tersebut tetap menjalankan perintah Git yang sama, dan memahaminya tetap berguna, terutama saat terjadi konflik.
Apakah perlu memasang Git jika sudah punya akun GitHub?
Ya. Akun GitHub menyediakan tempat penyimpanan, sedangkan pekerjaan dengan kode di komputer Anda, seperti commit, branch, dan push, dilakukan dengan Git yang terpasang.
Bagaimana cara memindahkan repositori dari GitHub ke GitLab?
Tambahkan remote baru lalu kirim semua branch dan tag: git push gitlab --all dan git push gitlab --tags. Riwayatnya berpindah utuh karena kedua layanan memakai Git.
Apa bedanya repositori publik dan privat?
Repositori publik bisa dilihat siapa pun di internet, sedangkan repositori privat hanya bisa dilihat Anda dan anggota yang diundang. Untuk portofolio, repositori publik diperlukan.
Topik ini dibahas mendalam dengan praktik di kursus “Git dari Nol hingga Pengembang Percaya Diri”.
- Apa Sebenarnya Git Itu — dan Kenapa Tanpanya Sulit Dapat Kerja
- GitHub dan Repositori Jarak Jauh: Kode Anda di Awan