Category: Git

Branch naming conventions in Git
How to name branches so your team understands at a glance what they contain, which ticket they map to, and when it's safe to delete them.

Git commit best practices
Atomic commits, messages that explain the why, and the Conventional Commits standard: the difference between a history that documents and one that just takes up space.

How to resolve merge conflicts in Git
Conflict markers make sense once you understand the three-way merge: what HEAD means, what the separator does, and how to resolve conflicts cleanly with or without visual tools.

Investigating Code Changes Line by Line with git blame
Who broke everything? git blame tells you line by line, and when history gets messy, git log has options you probably did not know to trace code even after it changed names.

Finding bugs with git bisect
Learn to use git bisect to find the exact commit that introduced a bug using binary search — and how to automate it so Git does all the work while you grab a coffee.

Recovering lost work with git reflog
Learn to use git reflog to recover deleted commits, lost branches, and any change that seemed gone forever after a reset or a Git mistake.

Cherry-picking commits in Git
Learn how to use git cherry-pick to apply specific commits from one branch to another—perfect for backporting hotfixes, rescuing buried work, and surgical history management.

Interactive Rebase in Git: Edit Your History Like a Pro
Learn how to use git rebase -i to reorder, combine, rename, and delete commits before integrating your work. Take full control of your history, commit by commit.

Rewriting History with git rebase
Learn what rebase is in Git, when to use it instead of merge, how to resolve conflicts during the process, and the golden rule you must never break.

Push and fetch in Git: syncing with the remote
Learn to send and receive changes in Git with git push and git fetch. Understand the difference between fetch and pull, how to use --force-with-lease, and why git push --force is a bad idea.