[Ev] Каждый раз, когда я нажимаю git sta sh, это изменяет мои файлы в их состояние в предыдущем коммите.
Это то, что предполагается сделать. git stash
делает фиксацию вашей работы (в виде двух специальных временных коммитов, называемых «sta sh»; эти коммиты не находятся на любой ветви, что позволяет легко переключаться на другую ветку и восстанавливать их) , затем сделайте git reset --hard
. git reset --hard
сбрасывает ваш индекс и рабочее дерево в соответствии с текущим коммитом.
Если вы этого не хотите, не используйте git stash
.
Обратите внимание, что вы может иметь git stash
проверить зафиксированное содержимое индекса после / вместо выполнения аппаратного сброса. Я полагаю, что эта опция предназначена для того, чтобы хуки перед фиксацией могли выполнять операции проверки кода над файлами, которые были бы зафиксированы git commit
. Опция для этого -k
(как в git stash -k
). Есть несколько незначительных fl aws с этой стратегией; см. Как правильно git stash / pop в хуках предварительной фиксации получить чистое рабочее дерево для тестов?