Git Advanced

Advanced Git techniques — reflog recovery, bisect debugging, worktrees, submodules, hooks, filter-branch, and patch workflows.

Git Basics

Essential Git commands for everyday development — clone, commit, push, pull, and branch management.

Git Bisect

Git bisect — binary search through commits to find exactly which change introduced a bug. Automation with scripts and best practices.

Git Branching

Master Git branching — create, switch, merge, and delete branches. Complete branch workflow reference for teams.

Git Cherry-Pick

Git cherry-pick — selectively apply commits from one branch to another. Conflict resolution, ranges, and real-world use cases.

Git Config

Git configuration — global vs local settings, essential aliases, useful defaults, conditional includes, and productivity-boosting configuration.

Git Diff

Git diff — compare commits, branches, staged changes, working tree. Word diff, diff filters, range diff, and practical diff workflows.

Git Hooks

Git hooks automation — client-side and server-side hooks for linting, testing, commit message validation, and deployment triggers.

Git LFS

Git Large File Storage — manage large binary files in Git repositories. Track, migrate, lock, and optimize workflows for assets and datasets.

Git Log

Git log mastery — formatting, filtering by author/date/file, pretty formats, graph visualization, searching commits, and log customization.

Git Merge & Rebase

Git merge vs rebase explained. When to use each, how to resolve conflicts, interactive rebasing, and cherry-picking.

Git Reflog

Git reflog — your safety net for recovering lost commits, understanding HEAD@{n} references, and undoing almost anything in Git.

Git Remotes

Managing Git remotes — multiple upstreams, origin management, fetch vs pull, upstream tracking, remote branches, and fork synchronization.

Git Reset

Git reset — soft, mixed, and hard reset explained. Undo commits, manipulate staging area, and understand the danger levels of each mode.

Git Revert

Git revert — safely undo commits by creating new inverse commits. Revert vs reset, reverting merge commits, and best practices for shared branches.

Git Squash

Squashing Git commits — interactive rebase squash, fixup, autosquash, and best practices for clean commit history before merging.

Git Stashing

Master git stash — save, list, apply, pop, drop, branch from stash, partial stashing, and cleaning up your stash stack.

Git Submodules

Managing Git submodules — adding, cloning, updating, removing submodules, and keeping nested repositories in sync.

Git Tags

Git tags — lightweight vs annotated tags, creating, listing, pushing, deleting, checking out, signing tags with GPG, and release management.

Git Troubleshooting

Common Git errors and fixes — detached HEAD, merge conflicts, push rejected, divergent branches, authentication issues, and recovery techniques.

Git Worktrees

Git worktrees — manage multiple working directories from a single repository, ideal for hotfixes, parallel features, and code reviews.

GitFlow Workflow

GitFlow branching model — main, develop, feature, release, and hotfix branches. Structured release management for teams with scheduled releases.

GitHub Workflow

GitHub collaboration workflow — Pull Requests, code reviews, Issues, Projects, Actions CI/CD basics, and repository management.

Gitignore

Master .gitignore — pattern syntax, global gitignore, negation, directory-specific rules, and best practices for keeping repositories clean.

Trunk-Based Development

Trunk-based development — short-lived branches, daily merges to main, feature flags, and CI/CD practices for high-velocity teams.

Part of the Empire Builder Network