Git: the 12 commands you actually need every day
Git looks enormous from the outside because it is enormous. The useful everyday surface area is much smaller. Most early-career engineers need fluency, not trivia.
Start with status
git status is the command that keeps you oriented. Run it before you commit, before you pull, before you panic, and before you ask for help. It tells you what Git thinks is happening.
The working set
You will use git add, git restore, git diff, and git commit constantly. Learn the difference between your working tree, the staging area, and the last commit. That mental model prevents most beginner mistakes.
The sharing set
git pull, git push, git fetch, and git branch are about coordination. Prefer fetching before deciding what to do. Pull only when you are ready to integrate.
The repair set
git log, git checkout, git switch, and git stash help you move around and recover. They are not magic, but they give you room to breathe.
The one command to respect
Never run a destructive command just because a forum answer says so. If a command contains --hard, --force, or deletes history, slow down and ask what state you are about to lose.
A good daily loop
Check status, make a small change, inspect the diff, stage intentionally, commit with context, and push when the branch tells a coherent story. That loop is enough for most real work.