Удаляем проиндексированные файлы из Git репозитория
Допустим, что у вас в Git репозитории есть файлы, которые вы затем добавляете в .gitignore
, после чего они всё ещё остаются проиндексированными. Существует простой способ избавиться от них.
Перед тем как начать, убедитесь что все изменения закоммичены, включая сам .gitignore
. Затем выполняем команду для полной очистки кэша нашего репозитория.
git rm -r --cached .
rm
команда удаления-r
указывает что мы удаляем рекурсивно–cached
указывает, что мы удаляем файлы только из индекса.
указывает что будут удалены индексы всех файлов, если вы хотите удалить из индекса конкретный файл, то можете указать только его, напримерgit rm --cached foo.txt
Команда rm
является не отменяемой, поэтому если вы хотите просто проверить результат выполнения, то добавьте флаг -n
или --dry-run
для тестирования.
Теперь индексируем всё по новой. И создаём новый коммит.
git add .
git commit -m ".gitignore fix"
Ура! Репозиторий очищен и готов к новым свершениям!