Advanced Commands
git stash, git cherry-pick, git bisect for bug hunting, git blame, and git shortlog.
git stash, git cherry-pick, git bisect for bug hunting, git blame, and git shortlog.
git add, git commit, git status, git log, git diff, and writing good commit messages with Conventional Commits.
What branches are, creating and switching between them, deleting branches, HEAD and detached HEAD state, and when to branch.
GitHub Flow, GitFlow, trunk-based development, and the fork workflow for open source — and how to choose the right one.
What git hooks are, pre-commit, commit-msg, and pre-push hooks, with practical examples and tools like husky and lefthook.
What Git is, distributed vs centralised VCS, installing Git, initial configuration, git init, .gitignore, and the three areas of a Git repository.
Fast-forward vs three-way merges, resolving conflicts step by step, git mergetool, and aborting a merge.
An end-to-end exercise covering initialising a repo, feature branches, simulated PR review, squash-merge, and tagging a release.
git rebase vs merge, interactive rebase for squashing and editing commits, and the golden rule of rebasing.
git clone, managing remotes, git fetch, git pull, git push, tracking branches, and upstream relationships.
Lightweight vs annotated tags, creating and pushing tags, semantic versioning, deleting tags, and checking out tags.
git restore, git reset (soft/mixed/hard), git revert, git clean, amending commits, and using reflog as a safety net.