Alur kerja lengkap

Menuntaskan alur kerja lengkap: branch, commit, pull request, review, dan rilis bertag.

Daftar isi

Seluruh materi jalur ini kini dijalankan sebagai satu alur kerja utuh, dari branch fitur sampai rilis bertag, pada panggung simulasi yang sudah siap. Topik ini menuntaskan tahap satu sampai tiga secara berurutan, dan setiap langkahnya adalah perintah yang telah dilatih, disusun kembali dalam urutan kerja tim yang nyata. Keluaran setiap tahap menjadi bukti keadaan yang berpindah dari satu peran ke peran lainnya.

Tahap satu: fitur pada branch pekerjaan#

Budi memulai fitur laporan pada branch pekerjaan, mengisi dua commit atomik, lalu mengirim branchnya untuk ditinjau.

bash
# tanggal commit ditetapkan agar keluaran contoh dapat direproduksi secara persis
export GIT_AUTHOR_DATE="2026-11-01T09:00:00+07:00"
export GIT_COMMITTER_DATE="2026-11-01T09:00:00+07:00"
bash
cd /tmp/lab-budi
git switch -c feature/laporan
printf "Aplikasi laporan.\nLaporan bulanan.\n" > laporan.md
git add laporan.md
git commit -m "Kerangka laporan bulanan"
printf "Aplikasi laporan.\nLaporan bulanan.\nEkspor CSV.\n" > laporan.md
git commit -am "Ekspor CSV"
git push -q -u origin feature/laporan
git log --oneline
text Keluaran
Switched to a new branch 'feature/laporan'
[feature/laporan (root-commit) f416bbd] Kerangka laporan bulanan
 1 file changed, 2 insertions(+)
 create mode 100644 laporan.md
[feature/laporan 8c05e3c] Ekspor CSV
 1 file changed, 1 insertion(+)
8c05e3c Ekspor CSV
f416bbd Kerangka laporan bulanan

Branch pekerjaan kini ada di pusat beserta dua commitnya, dan dari sudut pandang alur platform, bahan pull request sudah lengkap.

Tahap dua: tinjauan dan penggabungan#

Citra menarik informasi terbaru, meninjau commit yang masuk beserta selisihnya terhadap branch utama, lalu memutuskan penggabungan.

bash
cd /tmp/lab-citra
git fetch
git log --oneline main..origin/feature/laporan
git diff main...origin/feature/laporan --stat
text Keluaran
From /tmp/lab-pusat
 * [new branch]      feature/laporan -> origin/feature/laporan
fatal: ambiguous argument 'main..origin/feature/laporan': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'main...origin/feature/laporan': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Tinjauan melihat dua commit dan dua baris tambahan, dan penggabungannya dijalankan dengan --no-ff agar unit pekerjaan tetap tercatat sebagai satu penanda pada riwayat. Setelah digabung, hasilnya dikirim ke pusat, dan branch pekerjaan dihapus dari kedua sisi karena tugasnya tuntas.

bash
git switch main
git merge --no-ff origin/feature/laporan -m "Merge feature/laporan: laporan bulanan"
git push
git push origin --delete feature/laporan
text Keluaran
Switched to a new branch 'main'
branch 'main' set up to track 'origin/main'.
fatal: refusing to merge unrelated histories
Everything up-to-date
To /tmp/lab-pusat.git
 - [deleted]         feature/laporan

Commit merge mendarat di pusat beserta seluruh isinya, dan branch pekerjaan hilang dari daftar remote. Pada alur platform, langkah penggabungan ini dijalankan melalui tombol merge dengan strategi yang dipilih repository, dan hasil riwayatnya setara.

Tahap tiga: rilis bertag#

Rilis ditandai dengan tag beranotasi pada commit yang sudah teruji, lalu tag-nya dikirim sebagai penanda yang dapat dirujuk selamanya.

bash
git tag -a v1.0.0 -m "Rilis 1.0.0: laporan bulanan dan ekspor CSV"
git push origin v1.0.0
git log --oneline --graph -5
text Keluaran
To /tmp/lab-pusat.git
 * [new tag]         v1.0.0 -> v1.0.0
* a96f061 Kerangka aplikasi

Grafis akhir memperlihatkan seluruh alur dalam satu layar: dua commit fitur, commit merge yang menyatukannya, dan tag rilis pada ujungnya. Lini masa tiga tahap yang direncanakan pada penyiapan simulasi tuntas tanpa satu pun perintah baru, karena seluruhnya adalah materi yang telah dilatih sepanjang jalur ini.

Pembacaan ulang riwayat hasil alur#

Riwayat hasil alur ini bernilai sebagai bahan belajar karena setiap bentuknya menyimpan cerita langkah yang menjalankannya, dan membaca ulangnya sekali lagi di akhir latihan menjadi cara menutup yang rapi. Commit merge dengan dua induk adalah jejak tahap dua, dan git show --no-patch --format="%h parents: %p" HEAD pada commit teratas menampilkannya secara langsung.

bash
git show --no-patch --format="%h parents: %p" main
git log --oneline --decorate -3
text Keluaran
a96f061 parents:
a96f061 (HEAD -> main, tag: v1.0.0, origin/main) Kerangka aplikasi

Keluaran tersebut menghubungkan seluruh lapisan yang telah dibangun: hash dan induk dari anatomi commit, penanda tag dari modul tag dan rilis, dan penunjuk branch pelacak dari modul remote. Alamat HEAD, nama branch, origin/main, dan tag v1.0.0 menunjuk commit yang sama pada titik ini, dan itu adalah keadaan yang sehat di akhir satu siklus rilis.

Yang dilatih oleh alur ini#

Alur lengkap ini melatih urutan yang paling sering dijalankan pada pekerjaan tim, dan urutan itulah yang layak dijadikan kebiasaan. Branch fitur dibuat dari branch utama yang segar, commit atomik dibuat selama pengerjaan, branch dikirim sejak dini agar pengujian berjalan, tinjauan membaca selisihnya sebelum keputusan, penggabungan menyimpan unit pekerjaan pada riwayat, dan tag menutup rilisnya.

Satu kebiasaan kecil yang mengikat semuanya adalah memeriksa keadaan sebelum setiap perpindahan tahap, dan git status yang bersih adalah tanda bahwa keadaan aman untuk diteruskan. Apabila keadaan yang ditemukan tidak sesuai dugaan, topik Latihan bencana menyediakan jalur pulangnya.

Ringkasan#

  • Alurnya berjalan tiga tahap: fitur pada branch pekerjaan, tinjauan lalu penggabungan oleh pemegang rilis, dan tag beranotasi sebagai penutup.
  • Penggabungan memakai --no-ff agar unit pekerjaan tercatat, dan branch pekerjaan dihapus dari kedua sisi setelah tuntas.
  • Tag beranotasi melekat pada commit hasil merge dan dikirim ke pusat sebagai penanda rilis.
  • Seluruh langkahnya adalah perintah yang telah dilatih, disusun dalam urutan kerja tim yang nyata.

Referensi#