You don’t have to reset hard (if I understand correctly what you’re doing).
My case is similiar. I added a .gitattributes
in a running project. I need the files I have and the files in online repo to be ruled by gitattr.
# This will force git to recheck and "reapply" gitattributes changes.
git rm --cached -r .
git add -A
Your commit will re-add all the .ending
files you mention and you’ll not lose any changes you may have. Of course, Bob will have to pull to get it.