Как заставить Git что-либо забыть?
История и отмена изменений
Сделать так, чтобы Git «забыл» файл или изменения, можно по-разному — в зависимости от того, что именно нужно забыть.
Перестать отслеживать файл
git rm --cached .env # убрать из индекса, файл останется на диске
echo ".env" >> .gitignore
git commit -m "Не отслеживать .env"Одного .gitignore мало: уже отслеживаемые файлы он не убирает.
Отменить незакоммиченные изменения
git restore file.js # вернуть файл к последнему коммиту
git restore --staged file.js # убрать из индексаЗабыть последний коммит
git reset --soft HEAD~1 # коммит убран, изменения остались
git reset --hard HEAD~1 # коммит и изменения удаленыУдалить секрет из всей истории
Нужно переписать историю (git filter-repo) и сменить сам секрет — он уже мог утечь.
Коротко для собеседования
git rm --cached + .gitignore для файла, git restore для изменений, git reset для коммитов, git filter-repo для истории.
Подробнее: Pro Git — Отмена изменений