Я думаю, вы, вероятно, запутались с концепцией индекса, как прокомментировал @CB Bailey:
Промежуточная область - это индекс.
Вы можете просто рассматривать промежуточный каталог и индекс как одно и то же.
Так же, как @ Ответ Тима Хенигана, я полагаю:
вы просто хотите «отменить» git add
, которое было сделано для этого файла.
Вот мой ответ:
Как правило, есть два способа отменить операцию stage, как уже упоминалось в других ответах:
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>
Эта команда предназначена для ситуации, когда файл был подготовлен, но файл был изменен в рабочем каталоге после постановки, используйте эту операцию для восстановления файла в < strong> рабочий каталог из промежуточного каталога. Другими словами, после этой операции изменения происходят в вашем рабочем каталоге, а НЕ в вашем промежуточном каталоге.
person
Wulfric Lee
schedule
22.02.2019