Develop Branch — ini adalah cabang integrasi utama dalam Git Flow, di mana semua cabang feature yang selesai digabungkan sebelum persiapan rilis. Berbeda dengan main, develop berisi perubahan terbaru namun belum dirilis — di sini terjadi integrasi kode harian dari semua pengembang di tim. Menurut data Atlassian, 2024, develop adalah cabang wajib dalam Git Flow dan menyediakan lingkungan integrasi yang stabil untuk tim.
Poin Utama
Develop Branch (cabang pengembangan) — adalah cabang berumur panjang dalam Git Flow yang berfungsi sebagai simpul pusat untuk integrasi kode dari semua pengembang. Cabang feature digabungkan ke dalamnya setelah pengembangan selesai dan melewati code review.
Kode di develop selalu dalam keadaan siap untuk membuat rilis, meskipun belum dipublikasikan ke produksi. Ini berarti semua fitur di develop telah melalui review, pengujian, dan pemeriksaan integrasi, tetapi masih menunggu siklus rilis mereka.
Berbeda dengan main, di mana setiap versi kode adalah rilis, develop berisi aliran perubahan yang berkelanjutan. Commit di develop muncul seiring dengan penggabungan cabang feature, yang dapat terjadi beberapa kali sehari.
Menurut data Vincent Driessen, 2010, develop adalah elemen kunci dari model percabangan yang sukses, karena memisahkan pekerjaan yang sedang berlangsung dari versi yang siap dirilis.
Memahami perbedaan antara develop dan main sangat penting untuk bekerja dengan benar dalam Git Flow. Cabang-cabang ini menjalankan fungsi yang berbeda dan memiliki persyaratan stabilitas yang berbeda.
| Karakteristik | Develop | Main / Master |
|---|---|---|
| Tujuan | Integrasi fitur baru | Kode rilis yang stabil |
| Stabilitas | Tinggi (setelah pengujian) | Maksimal (produksi) |
| Frekuensi commit | Harian (penggabungan feature) | Per rilis (setiap 1-4 minggu) |
| Sumber cabang | Dari situ dibuat feature | Dari situ dibuat hotfix |
| Penggabungan | Dari feature melalui PR | Dari release melalui merge |
Pemisahan develop dan main memungkinkan tim untuk terus mengintegrasikan kode baru tanpa membahayakan stabilitas versi produksi. Pengembang dapat melihat kode mereka di develop segera setelah PR disetujui, bahkan sebelum rilis resmi.
Dalam model Git Flow, develop menempati tempat sentral antara cabang feature (sumber perubahan) dan cabang release (persiapan rilis). Memahami hierarki ini adalah dasar dari percabangan yang efektif.
Struktur seperti itu menjamin bahwa develop selalu berisi versi kode terbaru dengan semua fitur baru, dan main — hanya kode produksi yang terverifikasi. Ini sangat penting untuk proyek mobile dengan siklus review yang panjang di App Store dan Google Play.
Develop bertindak sebagai penghubung sentral antara cabang feature, release, dan hotfix. Memahami arah penggabungan adalah dasar untuk mencegah konflik dan kehilangan commit.
Kualitas kode di develop harus tinggi, tetapi tidak absolut. Berbeda dengan main, di mana setiap kesalahan berarti hotfix mendesak, develop memungkinkan kekurangan kecil yang akan diperbaiki sebelum rilis.
Persyaratan minimal untuk kode sebelum penggabungan ke develop:
Pemeriksaan otomatis dalam pipeline CI/CD harus dijalankan pada setiap push ke develop. Jika kompilasi rusak, pengembang yang bertanggung jawab harus memperbaiki masalah dalam waktu satu jam atau mengembalikan commit-nya.
Konfigurasi GitHub Actions untuk develop menjamin bahwa setiap PR sebelum penggabungan melewati pemeriksaan otomatis. Pipeline tipikal mencakup kompilasi, pengujian, dan linting.
# GitHub Actions — memeriksa develop setelah penggabungan
name: Develop CI
on:
pull_request:
branches: [develop]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Unit tests
run: ./gradlew testDebug
- name: Lint
run: ./gradlew lint
- name: Build
run: ./gradlew assembleDebug
Penggabungan ke develop harus mengikuti aturan ketat untuk menjaga stabilitas cabang integrasi. Pelanggaran aturan ini menyebabkan konflik, kompilasi rusak, dan kehilangan waktu tim.
Aturan keaktualan PR sangat penting. Jika cabang feature dibuat seminggu yang lalu dan develop telah maju 50 commit, penggabungan langsung dapat menyebabkan konflik yang lebih baik diselesaikan dalam konteks PR, bukan di develop.
Branch protection rules (aturan perlindungan cabang) — adalah pengaturan di tingkat GitHub, GitLab, atau Bitbucket yang mencegah perubahan yang salah di develop. Mereka menjamin bahwa bahkan push yang tidak disengaja tidak akan merusak cabang integrasi.
Aturan perlindungan yang disarankan untuk develop:
Konfigurasi perlindungan develop membutuhkan waktu 10 menit, tetapi mencegah minggu-minggu waktu henti yang terkait dengan cabang integrasi yang rusak. Untuk proyek mobile dengan tim multi-platform, ini sangat relevan.
Mari kita lihat hari tipikal seorang pengembang: pagi hari dia memperbarui develop, membuat cabang feature baru, dan setelah menyelesaikan tugas, menggabungkan perubahan kembali ke develop.
# Sinkronisasi pagi develop
git checkout develop
git pull origin develop
# Membuat cabang feature baru dari develop
git checkout -b feature/add-push-notifications
# Bekerja pada fitur...
git add . && git commit -m "Add FCM integration"
# Memperbarui develop selama pengembangan
git fetch origin develop
git rebase origin/develop
# Setelah PR disetujui — memperbarui develop lokal
git checkout develop
git pull origin develop
git branch -d feature/add-push-notifications
Perintah git pull di develop melakukan dua operasi sekaligus: git fetch (mengambil commit baru dari server) dan git merge (menggabungkannya dengan cabang lokal). Untuk develop, ini adalah cara standar sinkronisasi.
Jika kode yang merusak kompilasi masuk ke develop, harus bertindak cepat. Setiap jam waktu henti develop berarti pekerjaan seluruh tim pengembang terblokir.
Jika kode yang merusak kompilasi masuk ke develop, gunakan git revert untuk membuat commit baru yang membatalkan perubahan bermasalah. Jangan gunakan git reset di develop — ini menulis ulang riwayat yang sudah ada di peserta lain.
# Menemukan commit bermasalah
git log --oneline develop
# Membatalkan commit melalui revert (aman)
git revert a1b2c3d
# Mengirim perbaikan ke develop jarak jauh
git push origin develop
# Melihat perubahan dalam commit tertentu
git show a1b2c3d --stat
Pertanyaan yang Sering Diajukan
Untuk proyek dengan satu-dua pengembang, develop sering kali berlebihan — main dan cabang feature sudah cukup. Begitu tim bertambah menjadi 3+ orang, develop menjadi diperlukan untuk mengisolasi fitur yang belum selesai dari kode produksi yang stabil.
Tidak, penulisan langsung ke develop dilarang dalam proyek profesional mana pun. Semua perubahan melalui Pull Request dengan code review dan pemeriksaan otomatis. Pengecualian — perubahan administratif README atau konfigurasi CI, tetapi lebih baik dilakukan melalui PR.
Dalam trunk-based development tidak ada cabang develop terpisah — semua pengembang bekerja di main dengan cabang feature yang sangat pendek (1-2 hari). Ini adalah alternatif untuk Git Flow, populer dalam budaya DevOps dengan tingkat otomatisasi pengujian yang tinggi.
Setelah setiap rilis, cabang release digabungkan kembali ke develop untuk memasukkan semua perbaikan yang dilakukan selama persiapan rilis. Jika tidak dilakukan, develop akan berbeda dari kode rilis, yang akan menyebabkan konflik pada rilis berikutnya.
Jika develop rusak, pengembang senior membuat cabang hotfix dari commit stabil terakhir, memperbaiki masalah, dan menggabungkan perbaikan langsung ke develop melalui PR dengan status khusus. Setelah pemulihan, analisis penyebab kerusakan dilakukan.
Kesimpulan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.
Baca juga