Как откатить изменения сделанные после "git add" но до "git commit"?
В репозиторий когда-то был добавлен файл src\test1.cpp
далее пойдет речь о трех состояниях файла:
- На момент
git checkout
из удаленной ветки - Сделаны изменения и выполнена команда
git add src\test1.cpp
- Сделаны еще изменения в этом же
src\test1.cpp
файле, ноgit add
не выполняли
Если сейчас запустить git status
, то команда покажет, что проиндексированные изменения, но после были добавлены еще, которые не проиндексированы. В этих последних изменениях разработчик не больше нуждается и не хочет добавлять их в следующий комит.
Как разработчику откатить файл src\test1.cpp
к состоянию 2 ?
Напомню о том, как работают некоторые команды:
git reset src\test1.cpp
- откат проиндексированных изменений, но они остаются файлововой системе. Другими словами как будто быgit add
вообще никогда не делали, а это не то что надо!git checkout src\test1.cpp
- откат проиндексированных и удаление изменений на файловой системе
После обеих этих команд проиндексированные изменения исчезают! А это не то что надо. Нужно их сохранить.