Вы не можете сбросить один файл, потому что сброс работает только для целых коммитов (он в основном «забывает» более новые коммиты). Кроме того, вы не можете «изменить» существующий коммит - подробнее об этом ниже.
В вашем случае у вас есть несколько вариантов:
Самый безопасный способ - просто извлечь старую версию вашего файла и повторить регистрацию
$ git checkout HEAD~1 -- public/stylesheet/application.css
# Back at old version, change already staged
$ git commit -m "Reverted change to public/stylesheet/application.css"
Это просто создаст новый коммит, который вернет ваши случайные изменения, и должен быть вашим предпочтительным вариантом, если вы точно не знаете, что делаете.
Во-вторых, сбросьте репозиторий, как указано выше, и повторно проверьте в коммите:
$ git reset HEAD~1
# Now restore your file public/stylesheets/application.css
$ git commit -m "Re-checkin of the commit"
# You may use the old checkin message here
Это эффективно «изменит» существующий коммит таким образом, что у вас будет тот же коммит в вашей истории с тем же описанием, за исключением изменений в одном файле. Однако это меняет вашу историю, поэтому вы не должны использовать это, если вы уже отправили исходную фиксацию в любой вышестоящий репозиторий.
Git не позволяет вам изменять существующие коммиты каким-либо иным способом, кроме как выбрасывая существующие и создавая новые. Это всегда «разрушит» вашу историю и должно использоваться, только если вы точно знаете, что делает эта функция и почему вы хотите это сделать.