Выбор ответа Junior Git обновлено
Файл в .gitignore всё равно в коммитах
Вопрос
Файл .env случайно закоммитили. Его добавили в .gitignore, но git status по-прежнему показывает его изменения. Почему и что сделать?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Игнор не действует на отслеживаемые: git rm --cached .env. .gitignore говорит Git не начинать отслеживать файлы.
Варианты ответа
.gitignoreприменяется только после перезапуска терминала- Игнор не действует на отслеживаемые:
git rm --cached .envправильный ответ - Нужно указать в
.gitignoreполный путь к.env - Надо выполнить
git reset --hard, и файл станет игнорироваться
Разбор
.gitignore говорит Git не начинать отслеживать файлы. Уже отслеживаемый файл он не трогает. git rm --cached убирает файл из индекса, оставляя его на диске, и после коммита игнор начинает работать. Секреты из такого файла остаются в истории, поэтому их нужно сменить.
- Терминал тут ни при чём.
- Пути в
.gitignoreпишутся относительно репозитория, а не абсолютные. reset --hardвыбросит локальные правки и ничего не изменит в отслеживании.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.