Here are a list of options I use for these commands regularly:
Add:
git add [file]: Adds a file to the staging area, preparing it for a commit.
git add -p: Stages hunks interactively.
git add .: Stages all changes, preparing them for a commit.
Reset:
git reset [file]: Unstages a file in the staging area but keeps its changes.
git reset -p: Unstages hunks interactively.
git reset: Unstages all changes in the staging area but keeps its changes.
git reset --hard: DANGEROUS! Unstages a file in the staging area and resets their changes.