Git Restore
git restore puts a file back the way it was in the last commit, throwing away your uncommitted changes to it.
With --staged it only unstages the file: your changes stay in the file, but are no longer in the staging area.
Discard changes in a file
git status --short
M index.html
git restore index.html
git status --short
Unstage a file
git add index.html
git status --short
M index.html
git restore --staged index.html
git status --short
M index.html