Alur Kerja GitHub: Branch, Push, Pull Request
Alur standar kolaborasi: clone, buat branch fitur, push, buka pull request, review, dan merge.
Alur yang dipakai hampir semua tim (GitHub Flow)
- Clone repository (atau fork bila kamu bukan anggota tim).
- Buat branch baru dari
mainuntuk satu pekerjaan. - Buat commit kecil dan jelas.
- Push branch ke GitHub.
- Buka Pull Request (PR): permintaan agar branchmu digabung ke main.
- Review: rekan membaca kode, memberi komentar, meminta perubahan; tes otomatis (CI) berjalan.
- Merge PR setelah disetujui, lalu hapus branch.
- Semua orang pull main terbaru.
Perintahnya
git switch main
git pull # pastikan main terbaru
git switch -c fitur/halaman-tentang # jalur kerja baru
# ...kerjakan, lalu...
git add tentang.html
git commit -m "Tambah halaman tentang kami"
git push -u origin fitur/halaman-tentang # kirim branch & hubungkan (-u)
Setelah push, GitHub menampilkan tombol Compare & pull request. Pull request bukan perintah Git, melainkan fitur GitHub di atas Git.
Menulis PR yang baik
- Judul yang menjelaskan hasilnya, bukan prosesnya: "Tambah halaman Tentang Kami", bukan "update".
- Deskripsi: apa yang berubah, kenapa, cara mengujinya, tangkapan layar bila UI berubah.
- Kecil: PR 100–300 baris mudah di-review; PR 3000 baris biasanya hanya di-"approve" sekilas.
- Kaitkan dengan issue: tulis
Closes #12agar issue tertutup otomatis saat merge. - Gunakan Draft PR bila masih dikerjakan tetapi ingin umpan balik awal.
Menanggapi review
Cukup commit perbaikan di branch yang sama lalu git push — PR terbarui otomatis. Tidak perlu membuat PR baru.
Tiga cara merge di GitHub
| Cara | Hasil di main | Cocok untuk |
|---|---|---|
| Merge commit | Semua commit + satu commit merge | Mempertahankan riwayat lengkap |
| Squash and merge | Semua commit PR dilebur menjadi satu commit | Riwayat main yang rapi (sangat populer) |
| Rebase and merge | Commit PR dipasang lurus di ujung main | Riwayat linear tanpa commit merge |
Fork: untuk kontribusi proyek orang lain
Bila kamu tidak punya izin tulis (mis. proyek open source), fork membuat salinan repository di akunmu. Kamu clone fork-mu, bekerja di branch, push ke fork, lalu buka PR dari fork ke repo asli. Agar fork tidak ketinggalan:
git remote add upstream https://github.com/pemilik/proyek.git
git fetch upstream
git switch main
git merge upstream/main
Melindungi branch main
Tim yang rapi mengaktifkan branch protection: dilarang push langsung ke main, wajib PR, wajib minimal satu approval, wajib tes lulus. Hasilnya: main selalu layak rilis.
Setelah PR digabung
git switch main
git pull
git branch -d fitur/halaman-tentang # hapus lokal
git push origin --delete fitur/halaman-tentang # hapus di remote (GitHub juga menawarkan tombolnya)