I am new to git and have a question of undoing changes with `git reset --hard hexid` workflow. For example, I am working on two files, `fileA` and `fileB`. My work flow maybe:

1. change `fileA`-> commit `fileA`
2. change `fileB`-> commit `fileB`
now suppose I'm satisfied with my change in `fileB`, but I find I actually don't need to change A and want it to be the previous version. Git seems to take the snapshots of the entire working directory, so `git reset --hard hexid_of_step1` will lead me to the original states for both files. Is there any way to just discard changes in `fileA` while keeping the changes `fileB`?