Эта страница из Git book объясняет это довольно хорошо.
git checkout
копирует файл из индекса в рабочее дерево (отбрасывает неизмененные изменения). Но у вас нет неустановленных изменений, вы просто добавили 1.txt
в индекс.
То, что вы хотите - это, вероятно, git reset
, за которым следует git checkout
.
git reset
с путем к файлу в качестве аргумента копирует файл из HEAD
в индекс. Эффективно отменяет эффект git add
для этого файла.
git checkout
, если файл в индексе совпадает с файлом в HEAD
, отменяет редактирование, которое вы сделали для этого файла. Предупреждение : вы потеряете изменения.