Отменить "git add"?

я ошибочно добавил файлы с помощью команды "git add dir". Я еще не запускал "git commit". Есть ли способ удалить этот dir и все, что содержится в нем, из фиксации?

Я пробовал git reset dir, но это не сработало. Видимо git reset file - это способ отменить его. Но у меня так много файлов и так мало времени.

4 ответов


чтобы удалить каталог и все внутри его из индекса,

git rm --cached -r dir

на --cached выключатель git rm работайте только с индексом и не прикасайтесь к рабочей копии. The -r переключатель делает ее рекурсивной.


вы хотите использовать git rm --cached -r <dir>. эта команда удалит содержимое поэтапного каталога из индекса.

если каталог уже был отслежен, вы должны найти новые и старые файлы вручную и распаковать их ...

возможно git reset <dir> после этого сбросить существующие (и уже отслеживаемые) файлы внутри каталога


использовать find и xargs:

find dir -type f | xargs git reset

$ git reset <dir>

Unstages все файлы и папки, которые я поставил с:

$ git add <dir>

вышеуказанное было подтверждено:

$ git status

или

$ git diff --staged --name-only 

после команды git add для подтверждения файлов и папок, которые были "изменения, которые должны быть зафиксированы".

после запуска команды git reset я использовал:

$git diff --staged --name-only

чтобы подтвердить, что ни одна из папок или файлов, ранее поставленных, все еще не была поставлена.