AI Insights
Generate a summary and suggested tags for this post.
Kalau kamu mulai belajar coding atau berkarier di dunia software, cepat atau lambat kamu akan bertemu GitHub. Hampir semua project open source ada di sana, sebagian besar perusahaan software memakainya, dan portofolio developer sering dinilai dari profil GitHub-nya.
Tapi bagi pemula, GitHub bisa terasa membingungkan: apa bedanya Git dan GitHub? Apa itu commit, branch, pull request? Artikel ini panduan lengkap cara menggunakan GitHub dari nol — dari daftar akun, membuat repository pertama, sampai kolaborasi via pull request.
1. Git vs GitHub — jangan tertukar
Ini konsep pertama yang wajib jelas:
- Git = sistem version control (aplikasi terminal). Menyimpan riwayat perubahan file di komputer kamu, secara offline. Dibuat oleh Linus Torvalds tahun 2005.
- GitHub = platform hosting untuk repository Git di internet (milik Microsoft). Menambahkan fitur kolaborasi: pull request, issue, review, CI/CD, wiki, dll.
Analoginya: Git seperti Microsoft Word (aplikasi), GitHub seperti Google Drive (tempat menyimpan & berbagi). Bisa pakai Git tanpa GitHub. Tidak bisa pakai GitHub tanpa Git (di baliknya tetap Git).
Alternatif GitHub yang setara: GitLab, Bitbucket, Codeberg. Konsep yang dipelajari di sini berlaku juga di sana.
2. Konsep dasar yang wajib dipahami
Sebelum praktik, pahami istilah ini:
| Istilah | Arti singkat |
|---|---|
| Repository (repo) | Folder project yang dilacak oleh Git |
| Commit | Snapshot perubahan pada satu titik waktu, dengan pesan |
| Branch | Jalur pengembangan paralel (misal main, feature/login) |
| Merge | Menggabungkan perubahan dari branch A ke branch B |
| Clone | Menyalin repo dari GitHub ke komputer lokal |
| Push | Mengirim commit lokal ke GitHub |
| Pull | Mengambil perubahan terbaru dari GitHub ke lokal |
| Fork | Menyalin repo orang lain ke akun kamu sendiri |
| Pull Request (PR) | Ajakan me-review & merge perubahan ke repo asal |
| Issue | Tiket untuk bug, fitur, diskusi |
Konsep di atas akan langsung terasa jelas begitu kita praktikkan.
3. Persiapan: daftar & install
Buat akun GitHub
- Buka github.com, klik Sign up.
- Isi email, username (yang akan jadi identitas kamu — pilih dengan bijak), password.
- Verifikasi email.
- Pilih plan Free — sudah cukup untuk sebagian besar kebutuhan (repo private unlimited).
Tips: pakai username profesional (hindari xX_Naga_Dark_Xx) — profil GitHub sering dilihat recruiter.
Install Git di komputer
- Windows: download git-scm.com, install dengan opsi default.
- macOS: buka Terminal →
git --version→ macOS akan menawarkan instalasi otomatis. Atau pakai Homebrew:brew install git. - Linux (Ubuntu):
sudo apt install git.
Cek instalasi:
git --version
# git version 2.42.0Konfigurasi awal Git
Set identitas kamu (dipakai di setiap commit):
git config --global user.name "Nama Kamu"
git config --global user.email "email@github.com"
git config --global init.defaultBranch mainGunakan email yang sama dengan akun GitHub supaya commit-mu tercatat di profil.
Autentikasi ke GitHub
GitHub sudah tidak menerima password untuk operasi git via HTTPS sejak 2021. Pilih salah satu:
- Personal Access Token (PAT) — paling mudah untuk pemula. Buat di Settings → Developer settings → Personal access tokens → Fine-grained tokens. Pakai token ini sebagai password saat push pertama kali.
- SSH key — lebih nyaman jangka panjang. Bikin key dengan
ssh-keygen -t ed25519 -C "email@github.com", lalu tambahkan isi~/.ssh/id_ed25519.pubke GitHub → Settings → SSH and GPG keys. - GitHub CLI (
gh) — install dari cli.github.com, lalugh auth login. Paling gampang.
4. Membuat repository pertama
Ada dua cara umum:
Cara A — mulai di GitHub, clone ke lokal
- Di GitHub, klik New repository.
- Isi nama (misal
hello-github), pilih Public atau Private. - Centang Add a README file.
- Klik Create repository.
- Klik tombol hijau Code, salin URL (HTTPS atau SSH).
- Di terminal:
git clone https://github.com/username/hello-github.git
cd hello-githubCara B — mulai di lokal, push ke GitHub
Kalau kamu sudah punya folder project di komputer:
cd project-saya
git init
git add .
git commit -m "Initial commit"
# buat repo kosong dulu di github.com, lalu:
git remote add origin https://github.com/username/project-saya.git
git branch -M main
git push -u origin main5. Alur kerja harian: commit → push
Ini rutinitas dasar yang akan kamu ulangi ratusan kali:
# 1. Cek status file yang berubah
git status
# 2. Tambahkan file ke "staging area"
git add nama-file.js
# atau semua sekaligus:
git add .
# 3. Buat commit dengan pesan yang jelas
git commit -m "Tambah tombol login di halaman utama"
# 4. Kirim ke GitHub
git pushMenulis pesan commit yang baik
- Tulis kalimat pendek, imperatif ("Tambah…", "Perbaiki…", bukan "Menambahkan…").
- Deskriptif: apa yang berubah, bukan file mana.
- ❌
update,fix,asdf - ✅
Perbaiki validasi email di form registrasi - ✅
Tambah dark mode toggle di header
Konvensi populer: Conventional Commits — feat:, fix:, docs:, chore:, dll.
6. Branching — bekerja tanpa mengganggu main
Branch memungkinkan kamu mengembangkan fitur secara terpisah dari kode utama. Jangan pernah langsung koding di branch main untuk fitur baru.
# Buat branch baru & langsung pindah
git checkout -b feature/login
# ... koding, commit seperti biasa ...
git add .
git commit -m "Tambah form login"
# Push branch ke GitHub
git push -u origin feature/loginUntuk pindah antar branch:
git checkout main # pindah ke main
git checkout feature/login # kembali ke branch fitur
git branch # lihat semua branchKonvensi nama branch
feature/nama-fitur— fitur barufix/nama-bug— perbaikan bugdocs/…— perubahan dokumentasichore/…— housekeeping
7. Pull Request (PR) — inti kolaborasi di GitHub
Pull Request adalah cara mengusulkan perubahan dari satu branch ke branch lain (biasanya feature/... → main). Ini fitur andalan GitHub.
Alur PR:
- Push branch fitur ke GitHub.
- Buka GitHub, klik Compare & pull request.
- Isi judul + deskripsi (apa yang berubah, kenapa, screenshot kalau UI).
- Assign reviewer kalau tim.
- Tunggu review + CI check.
- Kalau approved, klik Merge pull request.
- Hapus branch fitur setelah merge (
Delete branch).
Setelah merge, di lokal:
git checkout main
git pull # ambil hasil merge
git branch -d feature/login # hapus branch lokalKenapa PR (bukan langsung push ke main)?
- Review oleh tim → tangkap bug lebih awal.
- CI/CD otomatis jalan → test + build harus lulus.
- Riwayat perubahan terdokumentasi rapi.
- Diskusi bisa ditinggal di kode spesifik.
Meski kerja solo, biasakan pakai PR — kamu me-review kode diri sendiri dengan mata segar.
8. Bekerja dengan repo orang lain: Fork & Clone
Ada dua skenario:
Kolaborator resmi
Kalau kamu member repo (di-invite oleh pemilik), langsung git clone → buat branch → PR seperti biasa.
Kontributor luar (open source)
Kamu bukan member repo → tidak bisa push langsung. Pakai fork:
- Klik Fork di repo asal → repo tersalin ke akun kamu.
- Clone dari fork kamu:
git clone https://github.com/kamu/repo-fork.git
cd repo-fork
git remote add upstream https://github.com/asli/repo-asli.git- Buat branch, koding, commit, push ke fork.
- Buka repo asli → klik New pull request → compare across forks.
- Pilih branch kamu → submit PR.
Ini alur standar berkontribusi ke project open source seperti React, Next.js, atau Linux kernel.
9. .gitignore — file yang tidak boleh masuk repo
Jangan commit file berikut:
node_modules/,vendor/— dependency, bisa di-install ulang..env,.env.local— berisi secret & password.- File build:
dist/,build/,.next/. - File OS:
.DS_Store,Thumbs.db. - IDE:
.vscode/,.idea/(kecuali sengaja di-share).
Buat file .gitignore di root repo:
node_modules/
.env
.env.local
dist/
.DS_StoreTemplate lengkap tersedia di github.com/github/gitignore.
⚠️ Jangan pernah commit API key, password, atau token — GitHub bahkan mendeteksi & mengirim notifikasi otomatis. Kalau terlanjur, rotasi (ganti) key-nya — menghapus commit saja tidak cukup, karena riwayat tetap tersimpan.
10. Menangani konflik merge
Konflik terjadi ketika dua orang mengedit baris yang sama. Contoh:
<<<<<<< HEAD
const nama = "Faiz";
=======
const nama = "Budi";
>>>>>>> feature/loginCara menyelesaikan:
- Buka file yang konflik.
- Pilih versi yang benar (atau gabungkan manual).
- Hapus marker
<<<<<<<,=======,>>>>>>>. git add file-konflikgit commituntuk menyelesaikan merge.
Untuk konflik yang rumit, editor seperti VS Code punya UI khusus resolve conflict — pakai itu.
11. Command Git yang paling sering dipakai
Cheat sheet 12 command yang menyelesaikan 90% pekerjaan:
git status # lihat status file
git diff # lihat perubahan yang belum di-add
git add <file> # stage file
git commit -m "pesan" # commit
git push # kirim ke GitHub
git pull # ambil perubahan terbaru
git log --oneline # lihat riwayat commit
git checkout -b <branch> # buat & pindah branch baru
git checkout <branch> # pindah branch
git merge <branch> # merge branch ke current
git stash # simpan perubahan sementara
git reset HEAD~1 # batalkan commit terakhir (perubahan tetap ada)12. Fitur GitHub yang wajib kamu kenali
Selain hosting repo, GitHub punya banyak fitur:
- Issues — tracking bug & fitur.
- Discussions — forum diskusi per repo.
- Projects — kanban board terintegrasi (mirip Trello).
- Actions — CI/CD otomatis (lihat artikel CI/CD di blog ini).
- Pages — hosting web statis gratis dari repo (perfect untuk portfolio).
- Codespaces — VS Code di browser, langsung di cloud.
- Gist — snippet kode singkat, mirip Pastebin.
- Copilot — AI assistant untuk coding.
- Sponsors — donasi ke maintainer open source.
13. Tips membangun profil GitHub yang menarik
Profil GitHub sering menjadi CV kedua developer:
- Isi profil README — buat repo dengan nama = username kamu, tambahkan
README.md. Isinya akan muncul di halaman profil. - Pinning repositories — pin 6 repo terbaik di halaman profil.
- Contribution graph hijau — konsisten commit (jangan spam commit palsu, recruiter tahu).
- README yang bagus di setiap repo — screenshot, cara install, tech stack, live demo.
- Kontribusi open source — walau kecil (perbaikan typo di docs), tetap kontribusi.
- Tulis dokumentasi — banyak developer skill teknisnya bagus, tapi lemah komunikasi. Dokumentasi yang bagus membedakan.
14. Kesalahan umum pemula
- Commit sekali seminggu dengan banyak perubahan → commit lebih sering, per unit logis kecil.
- Pesan commit "update" → tidak informatif; tulis apa yang berubah.
- Koding langsung di main → selalu bikin branch fitur.
git push --forcedi main → berbahaya, bisa menghapus commit orang lain. Hindari kecuali paham konsekuensinya.- Commit
node_modulesatau.env→ repo membengkak & bocor secret. - Tidak pernah
git pullsebelum kerja → siap-siap konflik merge tiap hari. - Tidak baca error Git → 90% error Git menjelaskan solusinya di pesan.
15. Sumber belajar lanjutan
Setelah paham dasar, dalami:
- Pro Git book — gratis, resmi, sangat lengkap.
- GitHub Learning Lab / Skills — tutorial interaktif.
- Oh My Git! — game belajar Git.
- Learn Git Branching — visualisasi interaktif untuk konsep branching.
Kesimpulan
Menggunakan GitHub sebenarnya adalah campuran dari:
- Konsep Git — repo, commit, branch, merge.
- Fitur kolaborasi GitHub — fork, pull request, issue, actions.
- Kebiasaan yang baik — commit sering, pesan jelas, branch bersih,
.gitignorebenar.
Mulai dari yang sederhana: bikin repo pertama, commit README, push ke GitHub. Terus tingkatkan dengan branch → PR → kolaborasi. Dalam beberapa minggu, workflow ini akan terasa otomatis — dan kamu bakal kesulitan bayangkan koding tanpa Git lagi.
Selamat ngoprek! 🐙
