Lewati ke konten utama
menjadi.dev
Chapter 21.3 DevOps Menengah

GitHub: Kolaborasi dan Pull Request

Workflow kolaboratif menggunakan GitHub dan Pull Request

Tujuan Pembelajaran

  • Bisa membuat dan mengelola Pull Request
  • Mengerti code review workflow
  • Mengerti GitHub Actions dasar

Analogi

Diagram

      GitHub Workflow:
1. Fork/Clone → 2. Branch → 3. Commit → 4. Push → 5. Pull Request → 6. Review → 7. Merge
    

Pull Request adalah mekanisme review kode sebelum merge — kunci untuk kolaborasi berkualitas

Penjelasan Konsep

Git adalah version control system. GitHub adalah platform hosting untuk repository Git yang menambahkan fitur kolaborasi. Untuk bekerja dalam tim, kamu perlu menguasai workflow kolaboratif di GitHub.

Pull Request (PR) Workflow

Pull Request adalah permintaan untuk menggabungkan perubahan dari branch ke branch lain (biasanya ke main). PR memungkinkan:

  1. Code review: Tim member review perubahan sebelum di-merge
  2. Discussion: Diskusi tentang implementasi di thread
  3. CI/CD integration: Automated test berjalan sebelum merge
  4. Approval gate: Merge hanya bisa dilakukan setelah approved

Langkah-langkah PR

  1. git checkout -b fitur-xyz # Buat branch
  2. Kerjakan fitur, commit

  3. git push origin fitur-xyz # Push branch ke remote
  4. Buat PR di GitHub UI

  5. Reviewer review dan approve

  6. Merge PR (squash/rebase/merge commit)

Branching Strategy

Git Flow

(traditional):

  • main: Production code
  • develop: Development branch
  • feature/*: Feature branches
  • release/*: Release preparation
  • hotfix/*: Urgent production fixes

Trunk-Based Development

(modern):

  • main: Single branch,

Selalu deployable

  • feature branches: Pendek (1-2 hari), sering merge

GitHub Flow

(simple):

  • main: Deployable
  • Semua kerjaan di branch, PR ke main

Code Review Best Practices

Sebagai author PR:

  • PR kecil dan fokus (< 400 baris idealnya)
  • Deskripsi yang jelas: apa yang diubah dan kenapa
  • Link ke issue/ticket terkait
  • Pastikan CI passing sebelum minta review

Sebagai reviewer:

  • Review dalam 24 jam
  • Fokus pada: correctness, security, performance, maintainability
  • Gunakan suggest changes untuk edit kecil
  • Approve dengan catatan atau request changes

Inti yang Perlu Dipahami

Bagian ini berfokus pada bisa membuat dan mengelola Pull Request., mengerti code review workflow., dan mengerti GitHub Actions dasar. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca GitHub, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

Pull Request adalah mekanisme review kode sebelum merge — kunci untuk kolaborasi berkualitas. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Saat Melihat Contoh Kode

Contoh kode pada chapter ini memakai bahasa markdown. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. PR template memastikan setiap PR punya informasi yang cukup untuk reviewer. Code review checklist memastikan review konsisten.

Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Contoh Kode

markdown
# Pull Request Template

## Deskripsi
Jelaskan apa yang diubah dan kenapa.

## Perubahan
- [ ] Fitur baru
- [ ] Bug fix
- [ ] Refactor
- [ ] Documentation

## Checklist
- [ ] Test sudah ditulis dan passing
- [ ] Tidak ada error di console
- [ ] Code sudah di-self-review
- [ ] PR kecil dan fokus

## Screenshots (kalau UI)
[Screenshot perubahan]

## Related Issue
Closes #123

---

# Code Review Checklist (untuk reviewer)

## Correctness
- [ ] Logic sesuai dengan requirement
- [ ] Edge cases ditangani
- [ ] Error handling adequate

## Code Quality
- [ ] Naming convention consistent
- [ ] Tidak ada duplikasi kode
- [ ] Function kecil dan fokus

## Security
- [ ] Tidak ada hardcoded secrets
- [ ] Input validation
- [ ] XSS/SQL injection protection

Penjelasan Kode

PR template memastikan setiap PR punya informasi yang cukup untuk reviewer. Code review checklist memastikan review konsisten.

Prompt AI

Buat PR template di repository-mu (.github/pull_request_template.md). Submit satu PR ke proyek open source dan alami code review dari maintainer.

Pertanyaan Reflektif

PR yang kecil dan fokus = review lebih cepat dan lebih thorough. PR besar sering di-review dengan santai karena intimidating.