ALL_SERIES
SERIES_OVERVIEW // CURRICULUM_MAP

Learn Git In Action

// Git sebagai content-addressed database: object model, hashing, blob/tree/commit/tag, reachability, dan cara membangun commit manual dari plumbing command.

126 Lessons1597 Min Total04 Phases

This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.

algorithmsarchitectureartifact-managementatomic-commitsaudit+172 more

Curriculum Map

Navigate by phase, then choose the lesson that matches your current depth.

01

Git as a Content-Addressed Database

13 min

Git sebagai content-addressed database: object model, hashing, blob/tree/commit/tag, reachability, dan cara membangun commit manual dari plumbing command.

02

The Three Trees: Working Tree, Index, HEAD

13 min

Mental model tiga tree Git: Working Tree, Index, dan HEAD; bagaimana add, commit, reset, restore, checkout, dan status benar-benar bekerja.

03

Commit Graph, DAG, and Reachability

12 min

Commit graph, DAG, reachability, ancestry, revision ranges, and how senior engineers reason about Git history as a graph instead of a timeline.

04

Refs: Branches, Tags, HEAD, and Symbolic References

13 min

Refs, branches, tags, HEAD, symbolic references, remote-tracking branches, packed refs, and how Git names mutable positions in an immutable object graph.

05

Git Object Types: Blob, Tree, Commit, Tag

16 min

Deep dive into Git object types: blob, tree, commit, and tag; how they encode snapshots, identity, filenames, modes, ancestry, and release names.

06

The Index as Conflict, Staging, and Performance Structure

13 min

Deep dive into Git index as staging area, cache, conflict holder, tree construction boundary, and performance structure.

07

Porcelain vs Plumbing Commands

13 min

Memahami Git command layer sebagai komposisi porcelain dan plumbing: command user-facing, primitive object/index/ref operation, scriptability, debugging, dan workflow automation.

08

Reading Git State Like an Engineer

13 min

Cara membaca state repository Git secara deterministic: working tree, index, HEAD, refs, upstream, conflict, object, graph, dan remote relation sebelum melakukan operasi berisiko.

09

Commit as a Change Unit

14 min

Commit sebagai unit perubahan yang bisa dipahami, direview, diaudit, di-bisect, di-revert, dan dipakai sebagai bukti teknis dalam engineering workflow yang serius.

10

Atomic Commits and Reviewability

11 min

Atomic commit bukan sekadar commit kecil, tetapi commit dengan batas intent yang benar sehingga mudah direview, diuji, di-revert, di-backport, dan dipakai sebagai unit reasoning.

11

Commit Message Design for Future Debugging

12 min

Commit message bukan catatan kosmetik; ia adalah interface debugging masa depan, audit trail, review contract, dan decision log untuk engineer yang belum hadir hari ini.

12

Patch Shaping with add -p and commit -p

12 min

Patch shaping adalah teknik membentuk staged diff secara surgical supaya satu working tree yang kacau bisa dipecah menjadi commit yang atomic, reviewable, dan aman di-revert.

13

Amend, Fixup, Autosquash

11 min

Amend, fixup, squash, dan autosquash adalah teknik membentuk patch series lokal sebelum menjadi history publik yang stabil, reviewable, dan aman diintegrasikan.

14

range-diff for Reviewable Rewrites

10 min

git range-diff membandingkan dua versi patch series sehingga rewrite, rebase, amend, dan autosquash bisa direview tanpa kehilangan konteks perubahan antar versi.

15

Cherry-pick as Graph Surgery

14 min

Cherry-pick sebagai operasi graph surgery untuk memindahkan patch antar branch tanpa merge topology, termasuk backport, hotfix, conflict handling, duplicate patch, dan risiko release.

16

Revert as Public History Compensation

12 min

Revert sebagai mekanisme kompensasi perubahan untuk shared/public history, termasuk revert commit biasa, revert merge commit, no-commit revert, revert-of-revert, dan release rollback strategy.

17

Branching as Pointer Management

12 min

Branch sebagai pointer management, bukan folder copy; mencakup local branch, remote-tracking branch, upstream, refspec mental model, branch lifecycle, divergence, worktree, dan policy untuk team workflow.

18

Merge Base and Integration Math

11 min

Merge-base sebagai matematika integrasi Git; mencakup best common ancestor, reachability, two-dot vs three-dot, fork-point, criss-cross merge, conflict reasoning, dan decision framework sebelum merge/rebase.

19

Fast-Forward, Non-Fast-Forward, and --no-ff

14 min

Fast-forward, non-fast-forward, --no-ff, --ff-only, dan cara memilih model integrasi yang benar untuk engineering workflow nyata.

20

Merge Strategy and Conflict Model

13 min

Merge strategy, ort, recursive ancestry, three-way merge, conflict model, AUTO_MERGE, dan cara memahami conflict sebagai keputusan domain.

21

Conflict Resolution as Domain Decision

14 min

Conflict resolution sebagai keputusan domain, bukan sekadar menghapus marker sampai Git diam.

22

rerere: Reuse Recorded Resolution

11 min

Menggunakan git rerere untuk mengingat resolusi conflict berulang tanpa mengorbankan correctness dan reviewability.

23

Rebase Mental Model

12 min

Memahami rebase sebagai replay patch di atas base baru, lengkap dengan graph semantics, safety boundary, conflict behavior, dan workflow operasional.

24

Interactive Rebase for Series Engineering

10 min

Menggunakan interactive rebase untuk membentuk patch series yang reviewable, bisectable, auditable, dan aman sebelum masuk shared history.

25

Rebase Merges and Topology Preservation

13 min

Memahami rebase yang mempertahankan topology merge, kapan ia berguna, kapan berbahaya, dan bagaimana menggunakannya tanpa merusak konteks integrasi.

26

Merge vs Rebase Decision Framework

17 min

Framework praktis untuk memilih merge atau rebase berdasarkan graph semantics, collaboration model, release risk, auditability, dan operational safety.

27

Reset, Restore, Checkout, Revert

13 min

Framework operasional untuk memilih reset, restore, checkout, dan revert berdasarkan tree yang disentuh, apakah history sudah public, dan risiko kehilangan data.

28

Reflog as Local Time Machine

10 min

Reflog sebagai local time machine untuk memulihkan branch, commit yang hilang, bad reset, bad rebase, detached HEAD, dan force-push mistake.

29

fsck, Lost Found, and Dangling Objects

12 min

Deep dive tentang git fsck, lost-found, dangling object, unreachable object, object recovery, dan repository integrity check untuk incident recovery.

30

Stash Internals and Safe Usage

11 min

Deep dive tentang git stash internals, struktur commit stash, apply vs pop, conflict handling, partial stash, recovery, dan safe usage di workflow engineering.

31

Cleaning Working Tree Safely

10 min

Cleaning working tree safely tanpa kehilangan perubahan penting, dengan mental model tracked/untracked/ignored, dry-run discipline, dan playbook operasional.

32

Force Push Recovery and Team Protocol

10 min

Force push recovery dan protokol tim untuk rewrite shared branch secara aman, termasuk force-with-lease, reflog, backup refs, dan incident handling.

33

Incident Playbook: Broken Main

16 min

Incident playbook saat main/master rusak: freeze, triage, isolate, revert, verify, communicate, dan reopen dengan audit trail yang defensible.

34

Incident Playbook: Bad Release Tag

12 min

Incident playbook saat release tag salah: klasifikasi dampak, immutable release policy, retagging risk, consumer impact, dan remediation yang aman.

35

Remotes, Refspecs, and Tracking Branches

15 min

Remote repository, refspec, remote-tracking branch, upstream branch, fetch/push mapping, pruning, deletion, dan workflow multi-remote yang aman.

36

Fetch Negotiation and Object Transfer

16 min

Apa yang terjadi saat Git fetch: ref advertisement, negotiation, wants/haves, packfile transfer, shallow/partial clone, tags, FETCH_HEAD, dan failure mode CI.

37

Pull is Fetch plus Integrate

13 min

Git pull bukan command ajaib. Pull adalah fetch plus integration: merge, rebase, squash, atau fast-forward-only tergantung policy dan konfigurasi.

38

Push Semantics and Non-Fast-Forward Rejection

12 min

Git push sebagai operasi update remote refs: refspec, fast-forward rule, non-fast-forward rejection, force-with-lease, delete, tags, hooks, dan recovery workflow.

39

Forks, Upstreams, and Contribution Flow

12 min

Fork topology, upstream synchronization, PR branch hygiene, contribution safety, and operational guardrails for working across forks.

40

Multi-Remote Enterprise Workflows

13 min

Multi-remote Git workflows for enterprise mirrors, vendor upstreams, customer-specific branches, regulated delivery, migration, and air-gapped synchronization.

41

Submodules in Production

15 min

Production-grade use of Git submodules: gitlink semantics, .gitmodules, detached HEAD, recursive clone, update strategies, CI, release pinning, security, and operational failure modes.

42

Subtree vs Submodule vs Monorepo

15 min

Decision framework for subtree, submodule, and monorepo strategies: dependency ownership, history, tooling, release coupling, CI, review, and migration trade-offs.

43

Pull Request as Integration Contract

17 min

Pull request sebagai integration contract: kontrak perubahan dari branch kerja menuju protected line, termasuk diff semantics, checks, review, merge policy, dan failure mode organisasi.

44

Reviewable Branch Design

11 min

Mendesain branch yang reviewable: scope, commit series, dependency chain, branch lifetime, naming, update policy, dan failure mode agar PR kecil, jelas, dan aman diintegrasikan.

45

Stacked Branches and Dependent Changes

15 min

Stacked branches dan dependent changes sebagai teknik memecah perubahan besar menjadi rangkaian PR kecil yang tetap bisa direview, diuji, dan diintegrasikan tanpa kehilangan konteks.

46

Code Review Diff Mechanics

14 min

Code review diff mechanics: memahami two-dot, three-dot, merge-base, patch generation, rename detection, whitespace, merge commits, dan failure mode diff review.

47

Protected Branches and Merge Queues

15 min

Protected branches dan merge queues sebagai kontrol integrasi: required checks, required reviews, stale branch handling, queue semantics, dan race avoidance.

48

Linear History Policy vs Merge Commit Policy

15 min

Decision framework linear history policy vs merge commit policy: auditability, bisectability, revertability, topology preservation, squash, rebase merge, dan first-parent history.

49

Ownership, CODEOWNERS, and Review Routing

12 min

Ownership, CODEOWNERS, review routing, escalation, ownership decay, dan desain review topology untuk repository skala tim maupun enterprise.

50

Human Factors of Git Workflow

10 min

Human factors dalam Git workflow: safe defaults, cognitive load, aliases, guardrails, documentation, onboarding, dan desain sistem yang mengurangi kesalahan manusia.

51

Release Branching Models

14 min

Release branching models dalam Git: trunk-based, release train, maintenance branch, hotfix branch, GitFlow-like, support branch, dan decision framework untuk release yang auditable.

52

Version Tags and Release Identity

11 min

Version tags dan release identity dalam Git: lightweight vs annotated tags, signed tags, protected tags, immutable release policy, SemVer naming, provenance, dan artifact traceability.

53

Hotfix, Backport, and Forward-Port

11 min

Hotfix, backport, dan forward-port dalam Git: memilih patch, menjaga konsistensi lintas maintenance branch, menghindari duplicate fixes, dan membangun audit trail release.

54

Cherry-pick Trains for Maintenance Branches

8 min

Cherry-pick trains untuk maintenance branches: memilih patch series, mengurutkan dependency, mengelola conflict berulang, menjaga audit trail, dan memverifikasi release-line coverage.

55

Release Candidate Flow

10 min

Release Candidate Flow sebagai mekanisme stabilisasi release berbasis commit identity, protected branch, tag immutable, test gates, dan audit evidence.

56

Revert Strategy in Release Management

11 min

Revert Strategy dalam release management: kapan revert-first, kapan fix-forward, cara revert merge commit, dan bagaimana menjaga auditability production release.

57

SemVer and Git History Boundaries

12 min

SemVer dan Git history boundaries: bagaimana version number, tag, commit range, release branch, dan artifact identity harus disusun agar release bisa dipahami, diaudit, dan dipulihkan.

58

Build Reproducibility and Commit Pinning

9 min

Build reproducibility dan commit pinning: cara memastikan artifact, source commit, tag, dependency, build environment, dan runtime metadata membentuk rantai identitas yang bisa diverifikasi.

59

Inside .git Directory

11 min

Anatomi direktori .git sebagai control plane dan database lokal Git: object store, refs, index, reflog, hooks, state files, worktree layout, dan cara inspeksi aman saat debugging.

60

Loose Objects and Object Storage

11 min

Loose objects dan object storage Git: format object, header, zlib compression, path berdasarkan object ID, hash-object, cat-file, tree/commit plumbing, corruption model, dan debugging object database.

61

Packfiles, Indexes, and Delta Compression

15 min

Packfiles, index files, delta compression, and the storage/performance mechanics behind Git object transfer and repository compaction.

62

Commit-Graph File and Generation Numbers

13 min

Commit-graph files, generation numbers, changed-path Bloom filters, and how Git accelerates ancestry and history queries in large repositories.

63

Multi-Pack Index and Reachability Bitmaps

14 min

Multi-pack-index, reachability bitmaps, reverse indexes, cruft packs, and how Git accelerates object lookup and reachability queries in large repositories.

64

Reftable, Packed Refs, and Ref Storage

14 min

Ref storage internals: loose refs, packed-refs, symbolic refs, reftable, transactional updates, reflogs, and ref scalability in large repositories.

65

Revisions and Revset Language

13 min

Menguasai revision syntax dan revset Git sebagai bahasa untuk memilih object, commit set, ancestry, range, dan boundary perubahan secara presisi.

66

Pathspecs and Ignore Matching

13 min

Menguasai pathspec, ignore matching, exclude rules, tracked vs untracked behavior, dan teknik membatasi operasi Git ke path yang tepat tanpa merusak repository.

67

Attributes, Filters, and Normalization

18 min

Menguasai .gitattributes, text normalization, EOL policy, filters, diff drivers, merge drivers, archive attributes, dan failure mode konfigurasi file-level Git.

68

Hooks Architecture and Policy Boundaries

20 min

Menguasai arsitektur Git hooks, lifecycle client/server hooks, policy boundary, bypass risk, safe hook design, server enforcement, dan automation guardrails.