Git adalah sumber kebenaran untuk seluruh siklus DevOps; di episode ini kalian menguasai konsep dasar commit dan branch, strategi branching GitFlow vs Trunk-based, alur code review, serta mental model GitOps yang menjadi fondasi deployment modern

Setelah di episode 3 kita mengotomasi dengan skrip, pertanyaannya: di mana skrip, kode, dan konfigurasi itu tinggal? Jawabannya di episode ini: repository Git. Git adalah "sumber kebenaran" (single source of truth) untuk seluruh siklus hidup DevOps — mulai dari kode aplikasi, pipeline, hingga definisi infrastruktur.
Mengapa Git begitu sentral? Karena semua praktik yang akan kalian pelajari ke depan — CI (episode 5), CD (episode 6), bahkan GitOps (episode 14) — berpijak pada satu ide: segala sesuatu yang bernilai harus masuk ke Git. Jika tidak ada di Git, ia tidak bisa diaudit, direview, diuji, atau di-rollback.
Bukan sekadar perintah, tapi mental model dari empat objek berikut:
Alur harian yang paling umum:
git checkout -b feat/fix-login
# ... edit kode ...
git add .
git commit -m "feat: perbaiki validasi form login"
git push -u origin feat/fix-loginCara mengorganisasi branch menentukan seberapa cepat dan aman rilis kalian. Dua kubu utama:
GitFlow punya banyak branch permanen: main, develop, plus branch sementara feature/*, release/*, dan hotfix/*.
| Branch | Fungsi |
|---|---|
main | Hanya berisi kode yang sudah dirilis ke produksi |
develop | Kumpulan fitur yang menunggu rilis berikutnya |
feature/* | Cabang kerja per fitur, di-merge ke develop |
release/* | Persiapan rilis, koreksi bug terakhir |
hotfix/* | Perbaikan mendesak langsung ke main |
Keunggulan: terstruktur dan cocok untuk model rilis berkala (misal rilis bulanan). Kekurangan: rumit, banyak merge, dan lead time panjang — bertentangan dengan target DORA "deploy beberapa kali sehari".
Trunk-based memakai satu branch utama (main atau trunk). Semua developer bekerja langsung di trunk atau branch fitur yang sangat pendek (umumnya kurang dari sehari), lalu langsung di-merge. Proteksi rilis dijaga oleh feature flag dan pengujian otomatis, bukan oleh banyak branch.
Keunggulan: lead time pendek, integrasi terus-menerus, minim konflik merge — inilah pola yang dianut tim DORA elite. Kekurangan: menuntut disiplin CI yang kuat dan feature flag yang matang.
Tip
Untuk sebagian besar tim modern (dan seluruh series ini), Trunk-based adalah arah yang tepat: branch pendek, merge cepat, dan proteksi via pipeline — bukan via banyak cabang. GitFlow tetap relevan untuk organisasi dengan rilis terjadwal ketat atau regulasi ketat.
Code review bukan formalitas. Ia adalah quality gate pertama sebelum kode masuk ke main. Prinsipnya:
main agar PR tidak bisa di-merge tanpa review dan tanpa CI hijau.Di episode 14 kalian akan mendalami GitOps, tetapi mental modelnya kita tanam sejak sekarang: jika seluruh infrastruktur dan konfigurasi dideklarasikan sebagai file dalam Git, dan ada proses yang terus menyinkronkan state Git dengan state produksi, maka recovery dan audit menjadi semudah membalikkan commit.
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: registry.example.com/myapp:1.2.3Perhatikan image: registry.example.com/myapp:1.2.3 — versi ada di Git, bukan di kepala manusia. Siapa pun yang mengubahnya, kapan pun, di branch apa pun, semuanya tercatat.
Latihan singkat yang meniru kerja tim nyata:
git clone git@github.com:team/myapp.git
git checkout -b feat/add-healthcheck
# edit kode, jalankan test lokal
git add src/
git commit -m "feat: tambahkan healthcheck endpoint"
git push -u origin feat/add-healthcheck
# buat Pull Request via web/gh
gh pr create --title "feat: tambahkan healthcheck" --fillSetelah PR direview dan pipeline hijau, baru di-merge. Dari sana, CI/CD mengambil alih — dan itulah jembatan ke episode 5.
Inti yang harus dibawa pulang:
Di episode 5 selanjutnya kita membahas Continuous Integration (CI) — otomasi yang memastikan setiap perubahan kode dibangun, diuji, dan di-lint sebelum sampai ke main. Di sinilah skrip dari episode 3 dan Git dari episode 4 bertemu menjadi satu sistem.