I bet these are the features you're not using yet:
git checkout -p
for discarding hunks from the worktree, and git reset HEAD -p
for unstaging hunks from the index.