Tutorial Pull Request pada Gitlab atau Github atau Bitbucket

Pada artikel ini akan di bahas selengkapnya terkait penggunaan Pull Request.
409  
       

Pull Request merupakan suatu proses untuk menggabungkan kode kita dengan kode utama yang ada pada repositori. Biasanya pada Pull Request ini bisa kita lakukan dari repository yang telah kita fork sebelumnya maupun dari repository yang sama namun berbeda branch. Pada artikel ini akan di bahas selengkapnya terkait penggunaan Pull Request.

Latarbelakang

Sebelum lebih jauh membahas tentang Pull Request, ada baiknya kita mengenal terlebih dahulu perintah atau istilah yang akan digunakan dalam git. Untuk artikelnya bisa dibaca disini -> https://www.nyingspot.com/2023/09/mengenal-perintah-di-git/.

Apa itu Pull Request?

Pull Request memungkinkan Anda memberi tahu orang lain tentang perubahan yang Anda push ke repositori GitHub atau Gitlab atau bitbucket. Setelah pull Request dikirim, pihak yang berkepentingan dapat meninjau (mereview) serangkaian perubahan, mendiskusikan hal mungkin bisa membahayakan, dan bahkan membatalkan beberapa commit yang tidak diperlukan.

Pull Request biasanya digunakan oleh tim dan organisasi yang berkolaborasi menggunakan Share remote repository, di mana setiap orang berbagi satu repositori dan cabang topik digunakan untuk mengambangkan fitur dan mengisolasi perubahan. Banyak proyek open source di GitHub menggunakan permintaan tarik untuk mengelola perubahan dari kontributor karena berguna dalam menyediakan cara untuk memberi tahu pengelola proyek tentang perubahan yang telah dibuat dan dalam memulai tinjauan kode serta diskusi umum tentang serangkaian perubahan sebelum digabungkan ke dalam cabang.

Tahapan Membuat PR (PUll Request)

Ada 2 alur kerja utama saat mau membuat PR:

  1. PR dari Repositori yang sama dan beda branch
  2. PR dari Repositori yang berbeda

Disini kita akan fokus pada bagian 1.

Membuat Branch Baru

Sebelum membuat PR pastikan kita sudah membuat Branch baru di local repository kita. Adapun sumber dari branch ini adalah branch yang akan menjadi target pada saat kita PR. Kemudian pastikan semua perubahan telah ter-commit dengan benar pada branch yang sudah kita buat.

Contoh 1:
1. Saya akan mencoba PR ke Master, maka
2. Pindah dulu ke branch master, jika sudah lanjutkan
3. Buat branch baru dari master
4. Commit semua perubahan pada branch baru
5. rebase dari master yang ada pada remote server target PR
6. push branch baru ke repo kita
7. barulah buat PR

Itu adalah untuk contoh nomor 1, pada nomor 2 kita akan coba PR ke branch selain master.
Contoh 2:
1. Saya akan mencoba PR ke Branch bernama BETA_RELEASE, maka
2. Pindah dulu ke branch BETA_RELEASE,
3. Buat branch baru dari BETA_RELEASE
4. Commit semua perubahan pada branch baru
5. rebase dari BETA_RELEASE yang ada pada remote server target PR
6. push branch baru ke repo kita
7. barulah buat PR

Membuat PR (PUll Request) di Github

Untuk membuat Pull Request, Anda harus memiliki perubahan yang di commit ke cabang baru Anda. Buka halaman repositori di GitHub. Dan klik tombol Pull Request di menu atas repository. Pilih cabang yang ingin Anda gabungkan menggunakan metode Pull Down dari master branch maka anda harus membiarkan commit apa adanya. Terkecuali jika Anda bekerja dari remote branch atau berdasarkan pada branch lain, maka pastikan bahwa anda menggunakan perintah rebase dari cabang asal. Masukkan judul dan deskripsi untuk Pull Request Anda. Ingat Anda dapat menggunakan Markdown dalam deskripsi dan komentar.
Terakhir, klik tombol hijau bernama Submit Pull Request untuk membuat PR baru. Sekarang PR anda telah dalam status Open.

Menggunakan Pull Request

Anda dapat menulis komentar terkait dengan Pull Request, lihat semua commit yang ada pada PR tersebut pada tab Commit, atau anda juga dapat melihat semua perubahan file dari PR yang ada pada tab File Changed. Anda dapat meninggalkan komentar pada baris tertentu dalam perubahan kode hanya dengan mengarahkan kursor ke kiri baris dan mengklik ikon catatan biru.

Menggabungkan PR

Setelah Anda dan kolaborator Anda puas dengan perubahannya, Anda mulai menggabungkan perubahan kembali ke master atau ke target branch yang dituju oleh PR. Ada beberapa cara untuk melakukan ini. Pertama, Anda dapat menggunakan tombol Merge Pull Request pada bagian bawah PR untuk menggabungkan perubahan Anda. Ini hanya tersedia ketika GitHub dapat mendeteksi bahwa tidak akan ada masalah penggabungan dengan branch yang dituju. Jika semuanya berjalan dengan baik, Anda hanya perlu menambahkan pesan komit dan klik Confirm Merge untuk menggabungkan perubahan.

Menutup PR

PR biasanay di Close apabila kode tidak jadi digabungkan pada target branch. Hal ini biasanya karena kesalahan teknis, seperti kodenya yang ada pada PR tersebut kurang bagus, belum ditest, ataupun kebutuhannya telah berubah. Jadi jangan sungkan untuk closed PR apabila dinilai PR tersebut tidak cocok atau sudah tidak relevan lagi.

Daftar perintah git yang digunakan

Secara teori kita sudah memahami bagaimana PR itu akan dibuat dan diselesaikan. Sekarang kita akan belajar secara kode atau perintah yang digunakan dalam PR.

# Contoh 1
# pindah ke local repository

# jalankan perintah untuk melihat sedang di branch mana
git status

# jika sudah di master tidak usah ganti branch
# perintah untuk ganti ke branch master
git checkout master

# membuatbranch_baru dari master
git checkout -b branch_baru

# setelah ada perubahan koding
# misalkan pada file home.php maka
git add home.php

# setelah itu ada lagi perubahan koding
# misalkan pada file detail.php maka
git add detail.php

# setelah itu ada lagi perubahan koding
# misalkan pada file home.php maka
git add home.php

# terakhir commit perubahan pada file yang sudah di add
git commit -m "FEAT: menu about pada home dan detail"

# setelah di commit, rebase dulu dari master remote
git pull --rebase origin master

#barulah kita push
git push -f origin branch_baru

# setelah ini selesai, barulah buat PR di github

Demikian, semoga membantu.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>