advanced6 h 35 min10 lessons

Advanced Git

Go under the hood and stay there: the object model, bisect, whole-history rewrites, merge drivers and rerere, worktrees, submodules, scaling large repositories, signed commits, and Git inside CI/CD.

by DevFox

Start course

What you will cover

  1. Inside the Git Object ModelOpen .git with plumbing commands: blobs, trees, commits and tags, how a hash is computed, refs as files, revision syntax as graph arithmetic, and building a commit by hand.45 min
  2. Finding Regressions with git bisectBinary-search your history to the exact commit that broke something, then automate it with git bisect run, the exit-code contract, skip, terms, and replay.35 min
  3. Rewriting History at ScaleA runbook for purging a secret or a huge binary from every commit with git filter-repo, extracting a subdirectory, and coordinating the force-push without breaking the team.45 min
  4. Merge Strategies, Drivers, and rerereControl exactly how Git resolves a merge: ort and the other strategies, -s ours versus -X ours, custom merge drivers in .gitattributes, and rerere for recurring conflicts.40 min
  5. Working on Two Branches at Oncegit worktree: several working directories over one object database. How it works underneath, the failure modes, and the patterns worth adopting — without a second clone.35 min
  6. Submodules and SubtreesSeveral repositories, one build. Gitlinks and .gitmodules, the full submodule lifecycle and its honest list of pain, subtrees as the alternative, and when a registry beats both.40 min
  7. Scaling Git for Large RepositoriesDiagnose why a repository is slow — too much history, too many files, or too much binary — then apply partial clones, sparse checkout, git maintenance, or Git LFS.40 min
  8. Securing Your History with Signed CommitsMake every commit cryptographically attributable. SSH and GPG signing, allowed_signers, signed tags, host-side enforcement, and an honest account of what signing does not prove.40 min
  9. Git in CI/CD PipelinesMake Git behave inside automation: shallow detached-HEAD checkouts and their four symptoms, diffing against the right base, porcelain output, credentials, and bot commits.40 min
  10. Git Notes, Archives, and BundlesMove what Git stores somewhere else: notes for metadata that cannot change a hash, archive for clean tarballs, bundle for a repository in one file, and custom subcommands.35 min