Pull Request (PR) adalah cara formal untuk mengusulkan perubahan kode kepada tim atau pemilik repositori. Ini adalah jantung dari kolaborasi berbasis Git di platform seperti GitHub.
Pull Request adalah permintaan agar branch-mu digabungkan (merged) ke branch lain — biasanya dari feature/... ke main. Nama lainnya di GitLab adalah Merge Request (MR).
PR bukan fitur Git murni — ini adalah fitur platform (GitHub, GitLab, dll). Namun konsepnya dibangun di atas Git branching dan merging.
Tanpa PR:
Dev A langsung push ke main → tidak ada review → bug masuk produksi
Dengan PR:
Dev A → push ke branch → buat PR → review tim → merge ke main
Manfaat Pull Request:
# 1. Update main terlebih dahulu
git switch main
git pull origin main
# 2. Buat branch baru
git switch -c feature/tambah-fitur-pencarian
# 3. Kerjakan perubahan
# ... edit file ...
git add .
git commit -m "Tambah fitur pencarian produk"
git commit -m "Tambah unit test untuk pencarian"
# 4. Push branch ke remote
git push -u origin feature/tambah-fitur-pencarian
Setelah push, GitHub akan menampilkan tombol "Compare & pull request" secara otomatis.
Template deskripsi PR yang baik:
## Apa yang berubah?
- Tambah fitur pencarian produk dengan filter kategori
- Optimasi query database untuk pencarian
## Mengapa?
User sering mengeluh sulit menemukan produk. Fitur ini
meningkatkan pengalaman belanja secara signifikan.
## Cara test:
1. Buka halaman produk
2. Ketik keyword di kotak pencarian
3. Coba filter berdasarkan kategori
## Screenshot:
[lampirkan screenshot jika ada perubahan UI]
Sebagai reviewer:
1. Buka tab "Files changed" di PR
2. Klik baris kode untuk menambah komentar
3. Pilih:
- "Add single comment" — komentar langsung
- "Start a review" — kumpulkan komentar, submit sekaligus
4. Submit review dengan:
- "Approve" — setuju, siap di-merge
- "Request changes" — ada yang perlu diperbaiki
- "Comment" — komentar netral tanpa approve/reject
Sebagai author:
# Update branch setelah ada feedback
git switch feature/tambah-fitur-pencarian
# ... perbaiki sesuai feedback ...
git add .
git commit -m "Perbaiki validasi input pencarian berdasarkan review"
git push
# PR otomatis terupdate dengan commit baru
GitHub menyediakan tiga opsi merge:
Create a merge commit:
→ Buat merge commit. History branch tetap terlihat.
→ Cocok untuk fitur besar
Squash and merge:
→ Gabungkan semua commit jadi satu sebelum merge
→ History main jadi bersih dan linear
→ Cocok untuk fitur kecil atau banyak commit WIP
Rebase and merge:
→ Replay commit satu per satu di atas main
→ History linear tanpa merge commit
→ Cocok jika commit sudah rapi
Gunakan Draft PR jika masih dalam pengerjaan tapi ingin feedback awal:
Klik dropdown "Create pull request" → pilih "Create draft pull request"
Draft PR tidak bisa di-merge sampai diubah ke PR biasa. Berguna untuk:
💡 Tips: Buat PR yang kecil dan terfokus — lebih mudah direview dan lebih cepat di-merge. PR yang mengubah ratusan file jarang mendapat review yang menyeluruh. Prinsip: satu PR untuk satu perubahan logis. Lebih baik 5 PR kecil daripada 1 PR raksasa yang sulit dipahami. 🎯
Kursus
Git Dasar
Kategori
Kolaborasi
Durasi Pelajaran
20 menit