git status is the dashboard you read first
The single most-run Git command in a serious workflow is git status. Run it constantly — before staging, after editing, when you forget where you left off, when something feels off. It is the dashboard that tells you the truth about all three areas at once: what is staged, what is modified but not staged, what is untracked, what branch you are on, how far you are ahead or behind the remote.
The default git status output is verbose and hand-holding — useful while learning. The short form git status -s is two columns of letters per file. Left column = index state. Right column = working-tree state. M_ means staged modification with no further changes. _M means modified, not staged. MM means staged AND modified again afterward (you would commit the older version). A_ is a staged new file. ?? is untracked. Once you can read these letters fluently, status becomes a glance, not a paragraph.
Two flags upgrade git status for daily use. --branch (or -b) shows the current branch and how it compares to its upstream. --ahead-behind is on by default; in a team workflow you will often see lines like "Your branch is ahead of 'origin/main' by 2 commits" — that is the dashboard telling you to push. git status --short --branch together is the recommended mode for muscle memory.
The hidden trap of git status: it does not tell you about commits that exist only locally on other branches. If you switched away from a feature branch with uncommitted work, then ran status on main, status looks clean. The work is fine — it is sitting on the other branch — but the dashboard does not warn you. Use git branch -vv when you want a multi-branch view of where work lives.