Kode pipeline berkembang berhari-hari dan dikerjakan banyak orang sekaligus. Git mencatat setiap perubahan sebagai snapshot bernama commit, sehingga tim dapat berkolaborasi tanpa saling menimpa pekerjaan dan dapat kembali ke versi sebelumnya ketika perubahan terbaru justru merusak pipeline.

Bagi data engineer, Git bukan sekadar formalitas: kode ingestion, model dbt, sampai konfigurasi orchestration semuanya dikelola lewat Git. Chapter ini memetakan konsep inti, mengujinya lewat latihan riwayat perubahan nyata, lalu menutup dengan cek kesiapan diri.

Kenapa Git Penting untuk Data Engineer #

Tiga alasan praktis menjadikan Git bagian tak terpisahkan dari pekerjaan data:

  1. Kolaborasi — review kode lewat pull request adalah gerbang mutu sebelum perubahan pipeline digabungkan.
  2. Jejak perubahan — ketika laporan bulanan tiba-tiba salah, riwayat Git menunjukkan perubahan apa yang masuk dan siapa pengubahnya.
  3. Deployment — sistem CI/CD membangun dan menjalankan pipeline langsung dari repositori Git, sehingga versi yang berjalan di produksi selalu jelas asalnya.

Istilah berikut akan muncul di hampir setiap instruksi kerja tim:

IstilahPeran
Repositoryfolder proyek yang dicatat riwayatnya oleh Git
git addmenyetorkan perubahan ke area penampungan sementara
git commitmenyimpan snapshot perubahan ke riwayat permanen
git logmenampilkan daftar commit beserta pesannya
Branchjalur pengembangan terpisah untuk eksperimen
Remotesalinan repositori di server bersama seperti GitHub atau GitLab

Contoh Nyata: Riwayat Perubahan Catatan Pipeline #

Kita buat repositori latihan berisi satu berkas catatan, lalu ubah berkas tersebut dua kali dengan dua commit. Inisialisasi dan konfigurasi identitas cukup dijalankan sekali di awal:

bash
git init
git config user.name "Budi"
git config user.email "[email protected]"

printf '# Catatan pipeline\n- ingestion dari API\n- validasi schema\n' > catatan.md
git add catatan.md
git commit -m "Tambah catatan awal pipeline"

printf '# Catatan pipeline\n- ingestion dari API\n- validasi schema\n- load ke warehouse\n' > catatan.md
git add catatan.md
git commit -m "Tambah tahap load ke warehouse"

Perintah git log --oneline merangkum seluruh riwayat dalam format ringkas — hash pendek di kiri, pesan commit di kanan, urut dari yang terbaru:

bash
git log --oneline

Output yang Dihasilkan:

text
368655e Tambah tahap load ke warehouse
730f3cf Tambah catatan awal pipeline

Dua commit terbentuk karena setiap perubahan disimpan sebagai snapshot terpisah. Hash 368655e dan 730f3cf adalah penanda unik yang dapat dipakai untuk membandingkan, memeriksa, atau kembali ke kondisi tertentu — hash di mesin Anda akan berbeda karena Git menghitung hash dari isi perubahan dan waktu pembuatannya.

Branch memungkinkan kita mencoba ide baru tanpa menyentuh jalur utama. Perintah git branch membuat branch baru, dan git branch --list menampilkan seluruh branch — tanda bintang menandai posisi kita saat ini:

bash
git branch validasi-data
git branch --list

Output yang Dihasilkan:

text
* main
  validasi-data

Kita berada di branch main, sedangkan branch validasi-data siap dipakai untuk eksperimen aturan validasi baru. Bila eksperimen berhasil, git merge menggabungkan hasilnya kembali ke main; bila gagal, branch tersebut cukup ditinggalkan tanpa merusak apa pun.

Cek Kesiapan Anda #

  • Anda siap bila dapat menjelaskan urutan git add lalu git commit beserta perannya masing-masing.
  • Anda siap bila dapat membaca keluaran git log --oneline dan menunjuk commit terbaru.
  • Anda siap bila dapat membuat branch untuk eksperimen tanpa mengubah branch utama.
  • Anda siap bila dapat menjelaskan alasan pull request dipakai tim sebelum perubahan digabungkan.

Kode dan infrastruktur sudah terpetakan; satu prasyarat terakhir menyangkut barang yang diangkut pipeline itu sendiri: bentuk datanya. Chapter berikutnya, Dasar Format Data, membandingkan CSV, JSON, dan XML sebagai bahasa pertukaran data.