Similar to your notes on add . vs add -p, I prefer checkout -p as an alternative to reset --hard - you can make sure you're not throwing something away that you missed during the add process. It works exactly the same way as add -p, you can choose to ignore or throw away piece by piece.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.