Исключение файла из индекса
Часть раздела Контроль версий путешествия по Terminal на Coddy — урок 41 из 58.
Если вы случайно добавили в индекс файл, который не планировали включать в следующий коммит, вы можете убрать его из индекса с помощью:
git restore --staged secrets.txtФлаг --staged указывает команде git restore изменить область индекса (staging area) вместо рабочего каталога. Фактическое содержимое файла остается неизменным; сбрасывается только его состояние в индексе.
После отмены индексации git status снова показывает файл как изменённый, но не индексированный. Затем вы можете выбрать для индексации другой набор изменений или оставить изменения на потом.
Это хорошо сочетается с git restore filename (без --staged), когда вы хотите полностью отменить изменения: сначала уберите их из индекса, а затем восстановите файл.
Задание
ЛегкоВ папке находится закоммиченный файл todo.txt и еще не закоммиченный secrets.txt.
Добавьте в индекс (stage) оба файла, затем уберите из индекса (unstage) только secrets.txt. Выполните git status --short, чтобы увидеть результат.
Ожидаемый вывод (обратите внимание на порядок): сначала строка с добавленным в индекс todo.txt, затем строка с неотслеживаемым secrets.txt.
Шпаргалка
Убрать файл из индекса (сохранить изменения в рабочем каталоге):
git restore --staged secrets.txtФлаг --staged сбрасывает только область индекса; содержимое файла остается нетронутым. Без --staged команда git restore полностью отменяет изменения в рабочем каталоге.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Контроль версий
2Начало работы
Инициализация репозиторияПапка .gitНастройка данных пользователяGit StatusИтоги — первый репозиторий5Игнорирование файлов
Зачем игнорировать файлыШаблоны .gitignoreПроверка правил игнорированияИтоги: чистый репозиторий8Слияние
Что такое слияниеСлияние Fast-ForwardТрёхстороннее слияниеКонфликты слиянияРазрешение конфликтаИтоги — Мастер слияния11Проект: Feature Branch
Обзор проектаИнициализация Main3Отслеживание изменений
Область подготовкиGit AddGit CommitИзменение отслеживаемого файлаGit LogИтоги: первые коммиты6Проект: Сайт рецептов
Обзор проектаИнициализация и игнорирование9Отмена изменений
Отмена непроиндексированных измененийИсключение файла из индексаИсправление последнего коммитаОтмена коммита (Revert)Сброс ветки (Reset)Итоги — Машина времени