Lewati ke konten utama

F5 · Modul 03

Git dan GitHub untuk proyek data

33 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Git menyimpan snapshot beralamat isi: isi yang sama mendapat hash yang sama, dan berkas yang pernah di-commit tetap ada di riwayat walaupun dihapus di commit berikutnya.
  • Masuk repo: kode, pyproject.toml, lock, Dockerfile, data kecil fiktif (warung.sql); tidak masuk: .venv, warung.db hasil bangun, .env, data pribadi, keluaran notebook.
  • Notebook disimpan tanpa keluaran: diff terbaca, ukuran kecil, data tidak bocor lewat sel yang tercetak.
  • Satu perubahan = satu cabang = satu PR, bahkan bila kamu bekerja sendiri; cabang hanyalah label yang menunjuk commit.
  • Rahasia yang sempat ter-push dianggap bocor: cabut dan ganti dulu, baru bersihkan riwayat.

Sebelum mulai

±3 jam (termasuk lab di komputermu).

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: setelah modul ini kamu bisa memutuskan berkas apa yang masuk repo proyek data dan apa yang tidak; menulis .gitignore dan memahami cara polanya dicocokkan; menjelaskan kenapa berkas besar dan rahasia yang pernah di-commit tetap ada di riwayat; menyimpan notebook tanpa keluaran; bekerja dengan cabang, PR, dan tag versi; serta menangani rahasia yang bocor.

Proyek: repo publik warung-makmur-app, .gitignore, PR pertama, tag v0.1.0 (kontrak proyek).

Istilah di modul ini (23)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 7 contoh kode
  • 6 berkas latihan + tes
Lihat isi zip
  • BACA-DULU.txt
  • contoh_f5_03_62.py
  • contoh_f5_03_201.py
  • contoh_f5_03_399.py
  • contoh_f5_03_433.py
  • contoh_f5_03_557.py
  • contoh_f5_03_854.py
  • contoh_f5_03_986.py
  • test_f5_03_4.py
  • test_f5_03_3.py
  • test_f5_03_1.py
  • test_f5_03_2.py
  • test_f5_03_5.py
  • test_f5_03_6.py