Memorize the Ones You Type Under Pressure
The commands worth actually committing to memory are the ones you need when something's already gone wrong: mid-merge conflict, mid-rebase, staring at a detached HEAD. Looking those up in a panic costs more than the two minutes it takes to actually learn them once. Everything else, the stuff you run calmly with time to think, is a fine candidate for an alias or a quick search instead.
The Core Set
git status, git diff, and git log --oneline are your situational awareness, run them before you do anything else when you're not sure what state you're in. git add -p stages changes in chunks instead of whole files, which matters more than it sounds like once you're trying to keep an unrelated debug print out of a commit. git stash and git stash pop are the fastest way to switch context without committing half-finished work. These five cover most of a normal day.
The Ones You'll Need in a Crisis
git reflog is the closest thing Git has to an undo history, and it's worth knowing it exists before the day you actually need it, usually right after you think you've lost commits for good. git rebase --abort and git merge --abort back you out of a conflict cleanly rather than leaving the repo half-resolved. git reset --hard is the one to know but respect, it throws away uncommitted changes with zero confirmation, so it's worth typing git status right before you run it, every time.
What to Alias Instead of Memorize
Anything with more than two flags you use often enough to be annoying but not often enough to be automatic is an alias candidate. A shortcut for git log --graph --oneline --all --decorate saves real typing without asking you to remember the exact flag order every time. Same for a squash-and-rebase combo, or a "push and set upstream" one-liner. The point of an alias isn't laziness, it's freeing up memory for the commands that actually need to be instant.
Write Your Own Cheat Sheet
Don't rely on a general Git cheat sheet floating around the internet, it'll have commands you never use and miss the two obscure ones specific to your own workflow. Keep a short personal list, five to ten commands, updated as your habits change. The act of writing it is half the memorization anyway.
Building The Habit
Pick one command you always have to look up and use it deliberately for a week, even when the muscle memory isn't there yet. By the second week it usually sticks. Trying to learn all of Git at once is how none of it sticks, learning one command at a time under real conditions is how it actually does.