Допустим, у меня есть файл с именем a.txt
. Я добавляю его в область подготовки, а затем изменяю. Как я мог вернуть его таким, каким он был при добавлении?
80
git checkout a.txt
git restore a.txt
Git сообщит вам об этом, если вы введете git status
.
До Git 2.23:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: a
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: a
#
Начиная с Git 2.23:
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: a
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: a
--
подобным статусом говорит.git checkout -- a.txt
Другой ответ на этой странице не имеет
--
и привел к некоторой путанице.Вот что Git сообщает вам, когда вы набираете
git status
:источник
Удаление подготовленного файла
В следующих двух разделах показано, как работать с изменениями промежуточной области и рабочего каталога. Приятно то, что команда, которую вы используете для определения состояния этих двух областей, также напоминает вам, как отменить изменения в них. Например, предположим, что вы изменили два файла и хотите зафиксировать их как два отдельных изменения, но вы случайно набираете git add * и обрабатываете их оба. Как можно отключить одну из двух? Команда git status напоминает вам:
Прямо под текстом «Изменения, которые необходимо зафиксировать», говорится, что используйте git reset HEAD ... для отключения. Итак, давайте воспользуемся этим советом, чтобы отключить файл CONTRIBUTING.md:
Команда немного странная, но работает. Файл CONTRIBUTING.md изменен, но снова отключен.
источник