Я думаю, что вы, вероятно, запутались с понятием индекса , как заметил @CB Bailey:
Зона подготовки является индексом.
Вы можете просто рассматривать промежуточный каталог и индекс как одно и то же.
Так что, как и ответ @Tim Henigan , я думаю:
Вы просто хотите "отменить" то, git add
что было сделано для этого файла.
Вот мой ответ:
Как правило, есть два способа отменить операцию этапа , как уже упоминалось в других ответах:
git reset HEAD <file>
а также
git rm --cached <file>
Но в чем разница?
Предположим , что файл был поставлен и существует в рабочем каталоге также использовать , git rm --cached <file>
если вы хотите , чтобы удалить его из устроив каталога , и сохранить файл в рабочем каталоге . Но обратите внимание, что эта операция не только удалит файл из промежуточного каталога, но также пометит файл как deleted
в промежуточном каталоге , если вы используете
git status
после этой операции вы увидите это:
deleted: <file>
Это запись об удалении файла из промежуточного каталога . Если вы не хотите сохранять эту запись и просто хотите отменить предыдущую операцию файла, используйтеgit reset HEAD <file>
вместо этого.
-------- КОНЕЦ ОТВЕТА --------
PS: я заметил несколько упомянутых ответов:
git checkout -- <file>
Эта команда для ситуации , когда файл был поставлен , но файл был изменен в рабочем каталоге после того, как она была поставлена, использовать эту операцию , чтобы восстановить файл в рабочем каталоге из устроив каталога . Другими словами, после этой операции изменения происходят в вашем рабочем каталоге , а НЕ в вашем промежуточном каталоге .