Команда git reset
помогает изменить либо область подготовки, либо область подготовки и рабочее дерево. Способность Git создавать коммиты в точности так, как вы хотите, означает, что вам иногда нужно отменить изменения, внесенные вами с помощью git add.
Вы можете сделать это, позвонив по номеру git reset HEAD <file to change>
. У вас есть два варианта, чтобы полностью избавиться от изменений. git checkout HEAD <file(s) or path(s)>
- это быстрый способ отменить изменения в области подготовки и рабочем дереве. Будьте осторожны с этой командой, потому что она удаляет все изменения в вашем рабочем дереве. Git не знает об этих изменениях, так как они никогда не совершались. Невозможно вернуть эти изменения после запуска этой команды.
Другая команда в вашем распоряжении - git reset --hard
. Это в равной степени разрушительно для вашего рабочего дерева - любые незафиксированные изменения или поэтапные изменения теряются после его запуска. Запуск git reset -hard HEAD
делает то же самое, что и git checkout HEAD
. Просто для работы не требуется файл или путь.
Вы можете использовать --soft
с git reset
. Он сбрасывает репозиторий в указанный вами коммит и выполняет все эти изменения. На любые изменения, которые вы уже поставили, это не влияет, равно как и изменения в вашем рабочем дереве.
Наконец, вы можете использовать --mixed
для сброса рабочего дерева без внесения каких-либо изменений. Это также не затрагивает любые поэтапные изменения.