Как мне отменить 'git add' перед коммитом? - PullRequest
8168 голосов
/ 08 декабря 2008

Я по ошибке добавил файлы в git с помощью команды:

git add myfile.txt

Я еще не запускал git commit. Есть ли способ отменить это, чтобы эти файлы не были включены в коммит?

Ответы [ 35 ]

7 голосов
/ 26 мая 2017

Одним из наиболее интуитивных решений является использование SourceTree .

Вы можете просто перетаскивать файлы из поэтапного и неустановленного enter image description here

1 голос
/ 29 января 2019

Команда 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 для сброса рабочего дерева без внесения каких-либо изменений. Это также не затрагивает любые поэтапные изменения.

0 голосов
/ 27 мая 2019

Просто удалите папку ./git и начните с начала.

0 голосов
/ 06 августа 2016
git stash && git stash pop

Прекратит постановку.

0 голосов
/ 21 февраля 2012

Команда git reset --hard HEAD должна работать. Стоит отметить, что вам нужно изменить каталог (cd) обратно в обычный рабочий каталог. В противном случае, если вы запустите команду из каталога, который вы по ошибке сделали git add . ...., вы не сможете откатить и вместо этого получить ошибки, упомянутые в других публикациях относительно «неизвестной ревизии или пути не в рабочем дереве».

...