Pull request telah membantu tim saya menghindari bug, menyelaraskan keputusan implementasi, dan saling belajar dari kode satu sama lain. Dalam panduan ini, saya akan menunjukkan cara menggunakan pull request di platform berbasis Git untuk meninjau kode Anda dengan aman.
Pull request pada dasarnya adalah metode untuk mengusulkan perubahan pada kode. Bayangkan Anda sedang mengerjakan suatu fitur atau di branch terpisah; pull request memungkinkan Anda meminta agar perubahan tersebut digabungkan ke basis kode utama. Ini biasanya dilakukan setelah orang lain memiliki kesempatan untuk meninjaunya. Pull request merupakan bagian inti dari pengembangan kolaboratif, terutama saat bekerja dalam tim.
Perlu dicatat bahwa di GitLab, proses yang sama disebut “Merge Request.”
Bagaimana Cara Kerja Pull Request?
Langkah-langkah berikut menguraikan alur kerja dasar sebuah pull request:
Lakukan perubahan pada skrip (kode) di branch fitur.
Commit perubahan ini di repositori lokal Anda.
Push branch tersebut ke repositori remote seperti GitHub.
Buka pull request untuk mengusulkan perubahan ke branch utama.
Minta review untuk perubahan yang diusulkan.
Merge atau tutup pull request tergantung hasilnya.
Alur kerja ini memberi setiap developer kesempatan untuk meninjau kode dan mengidentifikasi potensi masalah sebelum mendorong kode ke produksi.
Peran kunci dalam proses pull request meliputi:
Kontributor: Developer yang melakukan perubahan dan membuka pull request.
Reviewer: Developer yang meninjau perubahan kode yang diusulkan untuk menyarankan perbaikan dan memastikan kualitas kode.
Maintainer: Project manager yang memiliki proyek dan berwenang untuk menyetujui atau menolak pull request.
Saya menyarankan mengikuti kursus Intermediate Git untuk mempelajari cara menciptakan branch di Git dan cara berkolaborasi jarak jauh dengan anggota tim.
Membuat Pull Request (dengan Contoh)
Misalkan Anda menemukan kesalahan pada baris pengantar file README proyek Anda. Anda ingin memperbaiki masalah ini tanpa memengaruhi branch utama. Ikuti langkah-langkah di bawah ini:
Langkah 1: Buat branch baru
Arahkan ke folder proyek Anda dan buka terminal untuk menjalankan perintah di bawah. Baris ini membuat branch lain.
Sekarang buka akun GitHub Anda dan lakukan hal berikut:
Buka repositori Anda di GitHub.
Pilih prompt Compare & pull request untuk branch yang Anda push.
Tambahkan judul seperti Fix typo in README dan, jika perlu, tulis deskripsi singkat.
Pilih base branch Anda (biasanya main) dan bandingkan dengan branch fitur Anda.
Langkah 6: Minta review dan kirim
Jika proyek Anda melibatkan developer lain, Anda dapat meminta reviewer atau menambahkan label jika proyek menggunakannya. Lalu klik Create pull request.
Lihat proyek kami diPerforming a Code Review untuk memahami cara meninjau dan melakukan perubahan sebelum mendorong kode ke produksi.
Praktik Terbaik Pull Request
Berikut adalah praktik terbaik untuk memastikan pengembangan yang berkualitas saat membuat pull request:
Buat pull request ringkas dan sederhana: Selalu mulai dengan satu pull request untuk setiap fitur yang ingin Anda usulkan. Ini membantu reviewer melacak dan menguji perubahan Anda serta meminimalkan kemungkinan munculnya bug.
Tulis pesan commit dan deskripsi yang jelas: Berikan pesan commit yang deskriptif untuk menjelaskan suntingan. Konteks ini membantu reviewer memahami maksud Anda tanpa harus menggali kode.
Manfaatkan draft pull request untuk umpan balik awal: Jika pekerjaan Anda belum selesai tetapi Anda menginginkan masukan, buat draft pull request. Ini menunjukkan bahwa kode Anda masih dalam proses dan membuka diskusi tanpa kewajiban untuk segera merge.
Uji secara menyeluruh dan bagikan konteks: Selalu periksa ulang perubahan Anda untuk memastikan semuanya berfungsi seperti yang Anda harapkan.
Pull Request di Berbagai Alur Kerja Git
Berikut ikhtisar singkat tentang bagaimana pengaturan tim yang berbeda menggunakan pull request.
Feature branching: Ini umum pada tim kecil dan repositori privat. Alur kerja ini melibatkan pembuatan branch baru untuk setiap fitur.
Forking workflow: Alur kerja ini digunakan dalam proyek open-source. Forking workflow mengharuskan kontributor untuk me-fork (menyalin) repositori utama ke akun mereka. Mereka melakukan perubahan di fork mereka lalu membuka pull request ke repositori asli.
GitFlow: Ini adalah alur kerja terstruktur yang menggunakan branch jangka panjang seperti main, develop, release, dan hotfix. Digunakan oleh tim yang lebih besar dengan siklus rilis yang lebih kompleks.
Etika Pull Request
Ada kemungkinan berperilaku kurang baik, sehingga pull request juga memiliki etiket tersendiri:
Bersikap hormat dan spesifik: Fokus pada kodenya, bukan individunya.
Jaga agar pull request tetap fokus: Hindari mencampur perubahan yang tidak terkait dalam satu pull request. Mengabaikannya hanya akan mempersulit proses review dan umpan balik.
Tanggapi umpan balik dengan bijak: Apresiasi kode yang ditulis dengan baik dan saran untuk perbaikan.
Jangan biarkan pull request menggantung terlalu lama: Usahakan selalu meninjau dan menyelesaikan pull request secepat mungkin agar tidak menunda pembaruan.
Ajukan pertanyaan: Jika ada yang tidak jelas, mintalah klarifikasi alih-alih berasumsi, untuk menghindari kesalahpahaman.
Sarankan perbaikan: Jika sesuai, tawarkan saran yang dapat ditindaklanjuti atau pendekatan alternatif, bukan hanya menunjukkan masalah.
Alur Kerja Pull Request Tingkat Lanjut dan Praktik Terbaik
Jika Anda adalah developer berpengalaman yang ingin memperlancar kolaborasi, meningkatkan kualitas kode, dan men-scale proses pull request, berikut beberapa kiat praktis untuk mempertajam alur kerja Anda.
Alur kerja yang lebih cerdas
Berbagai alur kerja Git menangani pull request secara berbeda. Seperti yang telah kita bahas, Feature branching ideal untuk tim kecil karena kesederhanaannya. Namun, ini bisa menjadi menantang untuk dipertahankan jika tim Anda berkembang.
Forking direkomendasikan untuk proyek open-source tetapi dapat menambah overhead dalam sinkronisasi dan peninjauan kontribusi eksternal. Demikian pula, GitFlow direkomendasikan dalam pengembangan berkecepatan tinggi, meskipun kompleksitasnya dapat memperlambat proses.
Otomatisasi dan integrasi
Pull request modern memiliki CI/CD Checks, yang mengotomatisasi quality gate dengan mengintegrasikan alat continuous integration yang menjalankan test dan linter serta melakukan deploy pratinjau pada setiap PR. Ini memastikan hanya kode yang memenuhi standar yang ditentukan yang akan di-merge.
Platform seperti GitHub Actions dan GitLab Pipelines juga memungkinkan otomasi. Proses ini mencakup menjalankan unit test, membangun dan melakukan deploy lingkungan pratinjau, mengurangi upaya manual dan mendeteksi masalah lebih awal.
Mengoptimalkan review
Selalu jaga agar pull request tetap kecil dan fokus sehingga dapat ditinjau dengan cepat dan menyeluruh. Menggunakan templat dengan kolom jelas seperti “Apa yang berubah” dan “Cara menguji” membantu kontributor memberikan informasi yang ringkas dan relevan, sehingga review lebih efisien.
Perlu juga dicatat bahwa mengajukan pertanyaan alih-alih memberi tuntutan mendorong dialog yang konstruktif dan pembelajaran. Jika Anda menetapkan waktu tanggapan untuk review, proses akan tetap dapat diprediksi dan menghindari penundaan.
Metrik dan alat modern
Saya juga merekomendasikan agar Anda melacak ukuran PR, waktu review, dan tingkat merge untuk mengidentifikasi hambatan dan meningkatkan efisiensi alur kerja. Untuk memudahkan review dan merge, cobalah menggunakan stacked pull request. Ini akan memecah fitur besar menjadi PR yang lebih kecil dan saling terkait yang saling membangun.
Selain itu, Anda dapat mengintegrasikan alat AI seperti GitHub Copilot atau CodeWhisperer saat menggunakan pull request. Alat-alat ini akan membantu Anda menyoroti potensi masalah sejak dini dan menyarankan cara mengoreksinya.
Pull Request vs. Merge Request
Di GitHub dan GitLab, Pull Request (PR) dan Merge Request (MR) digunakan secara bergantian. Meskipun keduanya memiliki tujuan yang sama, setiap platform menanganinya dengan cara yang berbeda.
Tabel di bawah ini membandingkan PR dan MR untuk menyoroti perbedaan tersebut.
Aspek
Pull Request (GitHub)
Merge Request (GitLab)
Terminologi
Permintaan untuk menarik perubahan
Permintaan untuk menggabungkan perubahan
Penggunaan Utama
Mengusulkan, meninjau, dan menggabungkan perubahan kode
Mengusulkan, meninjau, dan menggabungkan perubahan kode
Pengguna Tipikal
Developer open-source, tim kecil hingga menengah
Tim yang berfokus DevOps, perusahaan, dan repo privat
Opsi serupa, dengan pembatasan metode merge yang dapat dikonfigurasi
Filosofi Alur Kerja
Berfokus pada developer, fleksibel
Berfokus pada DevOps, dengan integrasi erat antara pengembangan dan operasi
Kesimpulan
Pull request adalah hal yang wajib diketahui untuk proyek apa pun yang serius. Seperti yang telah Anda lihat (dan semoga kini Anda hargai), pull request memungkinkan tim untuk meninjau, mendiskusikan, dan menyempurnakan kode secara kolaboratif.
Terus tingkatkan keterampilan Anda sebagai developer. Lihat jalur keterampilan Git Fundamentals dan GitHub Foundations kami untuk menjadi ahli dalam segala hal terkait Git.
Penulis teknis Data Science dengan pengalaman langsung dalam analitik data, business intelligence, dan data science. Saya menulis konten praktis berfokus industri tentang SQL, Python, Power BI, Databricks, dan rekayasa data, yang berakar pada pekerjaan analitik dunia nyata. Tulisan saya menjembatani kedalaman teknis dan dampak bisnis, membantu para profesional mengubah data menjadi keputusan yang meyakinkan.
Pertanyaan Umum tentang Pull Request
Apakah pull request sama dengan merge request?⌄
GitHub menyebutnya “pull request,” sedangkan GitLab menggunakan “merge request,” tetapi keduanya menjalankan tugas yang sama.
Bisakah saya membuat perubahan pada pull request setelah saya membukanya?⌄
Ya, jika Anda mendorong commit baru ke branch yang sama, pull request akan diperbarui secara otomatis.
Bisakah saya menghapus sebuah branch setelah menggabungkan pull request?⌄
Ya, disarankan untuk menghapus branch setelah menggabungkan pull request agar repositori Anda tetap rapi.
Apa itu draft pull request?⌄
Draft pull request adalah pull request “work-in-progress”. Anda dapat menggunakannya saat Anda belum siap untuk merge, tetapi menginginkan umpan balik awal.
Apa perbedaan antara pull request dan branch?⌄
Branch adalah jalur pengembangan terpisah, sedangkan pull request adalah proposal resmi untuk menggabungkan perubahan branch tersebut ke branch lain.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Pull request telah membantu tim saya menghindari bug, menyelaraskan keputusan implementasi, dan saling belajar dari kode satu sama lain. Dalam panduan ini, saya akan menunjukkan cara menggunakan pull request di platform berbasis Git untuk meninjau kode Anda dengan aman.
Jika Anda baru memulai dengan Git, saya menyarankan mengikuti kursus Introduction to Git dan Introduction to GitHub Concepts untuk mempelajari tentang kontrol versi dan perbedaan antara Git dan GitHub. Selain itu, saya merasa Git Cheat Sheet yang dapat Anda unduh merupakan rujukan yang membantu karena memuat semua terminologi dan perintah Git yang paling umum.
Apa Itu Pull Request?
Pull request pada dasarnya adalah metode untuk mengusulkan perubahan pada kode. Bayangkan Anda sedang mengerjakan suatu fitur atau di branch terpisah; pull request memungkinkan Anda meminta agar perubahan tersebut digabungkan ke basis kode utama. Ini biasanya dilakukan setelah orang lain memiliki kesempatan untuk meninjaunya. Pull request merupakan bagian inti dari pengembangan kolaboratif, terutama saat bekerja dalam tim.
Perlu dicatat bahwa di GitLab, proses yang sama disebut “Merge Request.”
Bagaimana Cara Kerja Pull Request?
Langkah-langkah berikut menguraikan alur kerja dasar sebuah pull request:
Alur kerja ini memberi setiap developer kesempatan untuk meninjau kode dan mengidentifikasi potensi masalah sebelum mendorong kode ke produksi.
Peran kunci dalam proses pull request meliputi:
Saya menyarankan mengikuti kursus Intermediate Git untuk mempelajari cara menciptakan branch di Git dan cara berkolaborasi jarak jauh dengan anggota tim.
Membuat Pull Request (dengan Contoh)
Misalkan Anda menemukan kesalahan pada baris pengantar file README proyek Anda. Anda ingin memperbaiki masalah ini tanpa memengaruhi branch utama. Ikuti langkah-langkah di bawah ini:
Langkah 1: Buat branch baru
Arahkan ke folder proyek Anda dan buka terminal untuk menjalankan perintah di bawah. Baris ini membuat branch lain.
Langkah 2: Lakukan perubahan Anda
Untuk memperbaiki file, buka
README.mddi editor kode Anda, koreksi salah ketik, lalu simpan file.Langkah 3: Commit perubahan
Stage dan commit perubahan menggunakan perintah di bawah ini:
Langkah 4: Push branch ke GitHub
Unggah branch ke repositori.
Langkah 5: Buka GitHub dan buat pull request
Sekarang buka akun GitHub Anda dan lakukan hal berikut:
Buka repositori Anda di GitHub.
Pilih prompt Compare & pull request untuk branch yang Anda push.
Tambahkan judul seperti Fix typo in README dan, jika perlu, tulis deskripsi singkat.
Pilih base branch Anda (biasanya
main) dan bandingkan dengan branch fitur Anda.Langkah 6: Minta review dan kirim
Jika proyek Anda melibatkan developer lain, Anda dapat meminta reviewer atau menambahkan label jika proyek menggunakannya. Lalu klik Create pull request.
Lihat proyek kami di Performing a Code Review untuk memahami cara meninjau dan melakukan perubahan sebelum mendorong kode ke produksi.
Praktik Terbaik Pull Request
Berikut adalah praktik terbaik untuk memastikan pengembangan yang berkualitas saat membuat pull request:
Pull Request di Berbagai Alur Kerja Git
Berikut ikhtisar singkat tentang bagaimana pengaturan tim yang berbeda menggunakan pull request.
Feature branching: Ini umum pada tim kecil dan repositori privat. Alur kerja ini melibatkan pembuatan branch baru untuk setiap fitur.
Forking workflow: Alur kerja ini digunakan dalam proyek open-source. Forking workflow mengharuskan kontributor untuk me-fork (menyalin) repositori utama ke akun mereka. Mereka melakukan perubahan di fork mereka lalu membuka pull request ke repositori asli.
GitFlow: Ini adalah alur kerja terstruktur yang menggunakan branch jangka panjang seperti
main,develop,release, danhotfix. Digunakan oleh tim yang lebih besar dengan siklus rilis yang lebih kompleks.Etika Pull Request
Ada kemungkinan berperilaku kurang baik, sehingga pull request juga memiliki etiket tersendiri:
Alur Kerja Pull Request Tingkat Lanjut dan Praktik Terbaik
Jika Anda adalah developer berpengalaman yang ingin memperlancar kolaborasi, meningkatkan kualitas kode, dan men-scale proses pull request, berikut beberapa kiat praktis untuk mempertajam alur kerja Anda.
Alur kerja yang lebih cerdas
Berbagai alur kerja Git menangani pull request secara berbeda. Seperti yang telah kita bahas, Feature branching ideal untuk tim kecil karena kesederhanaannya. Namun, ini bisa menjadi menantang untuk dipertahankan jika tim Anda berkembang.
Forking direkomendasikan untuk proyek open-source tetapi dapat menambah overhead dalam sinkronisasi dan peninjauan kontribusi eksternal. Demikian pula, GitFlow direkomendasikan dalam pengembangan berkecepatan tinggi, meskipun kompleksitasnya dapat memperlambat proses.
Otomatisasi dan integrasi
Pull request modern memiliki CI/CD Checks, yang mengotomatisasi quality gate dengan mengintegrasikan alat continuous integration yang menjalankan test dan linter serta melakukan deploy pratinjau pada setiap PR. Ini memastikan hanya kode yang memenuhi standar yang ditentukan yang akan di-merge.
Platform seperti GitHub Actions dan GitLab Pipelines juga memungkinkan otomasi. Proses ini mencakup menjalankan unit test, membangun dan melakukan deploy lingkungan pratinjau, mengurangi upaya manual dan mendeteksi masalah lebih awal.
Mengoptimalkan review
Selalu jaga agar pull request tetap kecil dan fokus sehingga dapat ditinjau dengan cepat dan menyeluruh. Menggunakan templat dengan kolom jelas seperti “Apa yang berubah” dan “Cara menguji” membantu kontributor memberikan informasi yang ringkas dan relevan, sehingga review lebih efisien.
Perlu juga dicatat bahwa mengajukan pertanyaan alih-alih memberi tuntutan mendorong dialog yang konstruktif dan pembelajaran. Jika Anda menetapkan waktu tanggapan untuk review, proses akan tetap dapat diprediksi dan menghindari penundaan.
Metrik dan alat modern
Saya juga merekomendasikan agar Anda melacak ukuran PR, waktu review, dan tingkat merge untuk mengidentifikasi hambatan dan meningkatkan efisiensi alur kerja. Untuk memudahkan review dan merge, cobalah menggunakan stacked pull request. Ini akan memecah fitur besar menjadi PR yang lebih kecil dan saling terkait yang saling membangun.
Selain itu, Anda dapat mengintegrasikan alat AI seperti GitHub Copilot atau CodeWhisperer saat menggunakan pull request. Alat-alat ini akan membantu Anda menyoroti potensi masalah sejak dini dan menyarankan cara mengoreksinya.
Pull Request vs. Merge Request
Di GitHub dan GitLab, Pull Request (PR) dan Merge Request (MR) digunakan secara bergantian. Meskipun keduanya memiliki tujuan yang sama, setiap platform menanganinya dengan cara yang berbeda.
Tabel di bawah ini membandingkan PR dan MR untuk menyoroti perbedaan tersebut.
Aspek
Pull Request (GitHub)
Merge Request (GitLab)
Terminologi
Permintaan untuk menarik perubahan
Permintaan untuk menggabungkan perubahan
Penggunaan Utama
Mengusulkan, meninjau, dan menggabungkan perubahan kode
Mengusulkan, meninjau, dan menggabungkan perubahan kode
Pengguna Tipikal
Developer open-source, tim kecil hingga menengah
Tim yang berfokus DevOps, perusahaan, dan repo privat
Integrasi CI/CD
GitHub Actions (opsional, perlu penyiapan)
CI/CD bawaan secara default
Dukungan Draft
Dukungan native untuk Draft PR
Didukung melalui label “Draft” atau prefiks WIP
Persetujuan Merge
Reviewer dasar dan pengaturan persetujuan
Aturan lanjutan: multiple approver, approval pipeline
Strategi Merge
Merge commit, squash, atau rebase
Opsi serupa, dengan pembatasan metode merge yang dapat dikonfigurasi
Filosofi Alur Kerja
Berfokus pada developer, fleksibel
Berfokus pada DevOps, dengan integrasi erat antara pengembangan dan operasi
Kesimpulan
Pull request adalah hal yang wajib diketahui untuk proyek apa pun yang serius. Seperti yang telah Anda lihat (dan semoga kini Anda hargai), pull request memungkinkan tim untuk meninjau, mendiskusikan, dan menyempurnakan kode secara kolaboratif.
Terus tingkatkan keterampilan Anda sebagai developer. Lihat jalur keterampilan Git Fundamentals dan GitHub Foundations kami untuk menjadi ahli dalam segala hal terkait Git.