Rebase vs Merge
git merge creates a merge commit and preserves history. git rebase replays commits onto the target branch and yields a linear history. The rule of thumb: never rebase public branches — use rebase only on your own feature branches.
Cherry-pick
Use cherry-pick to move a specific commit to another branch. It shines in hotfix scenarios.
Bug Hunting with Bisect
Bisect runs a binary search over your history to find the commit that introduced a bug. It narrows down the culprit across hundreds of commits in minutes.
Managing Stashes
Stash is how you park half-finished work. It is a lifesaver when you need to switch branches in a hurry.
Reflog — Last-Resort Recovery
Deleted a branch by accident? Reset a commit you meant to keep? Reflog remembers everything (90 days by default).