SDLC & Git
How Git really works under the hood — objects, hashes, refs, the index — and the commands that move them: fetch, pull, reset, switch, rebase, cherry-pick — plus branching workflows and CI/CD.
The software development lifecycle seen from the tool every engineer touches daily: Git. The
focus is on the mental model — what is actually stored in .git, what a branch and a hash
really are, and what each command does to the commit graph, the index, and the working tree —
so that commands like reset --hard, rebase, or cherry-pick stop being magic and become
predictable. The last section zooms out to branching strategies, commit conventions, and the
CI/CD pipeline that turns a merged commit into a release.
Subtopics
- Git internals: objects, hashes, refs, and the indexMid / SeniorWhat is really stored in .git — blobs, trees, commits, tags, content-addressed hashes, branches as pointers, HEAD, and the staging area.8 concepts
- Remotes: fetch, pull, and pushMid / SeniorWhat a remote and a remote-tracking branch really are, what fetch downloads, why pull is fetch + merge (or rebase), and how push and force-with-lease update someone else's refs.6 concepts
- Moving HEAD: reset, checkout, switch, restore, revertMid / SeniorWhat each command does to HEAD, the branch ref, the index, and the working tree — reset soft/mixed/hard, why checkout was split into switch and restore, revert vs reset, and stash.8 concepts
- Integrating history: merge, rebase, cherry-pickMid / SeniorFast-forward and three-way merges, how conflicts arise and get resolved, rebase and interactive rebase, cherry-picking commits between branches, and recovering from mistakes with the reflog and bisect.8 concepts
- Branching workflows, commits, and CI/CDMid / SeniorThe SDLC phases, trunk-based development vs GitHub Flow vs GitFlow, pull requests and code review, commit conventions and semantic versioning, hooks, and the CI/CD pipeline from push to production.8 concepts