git clean Удалить файлы, которые не находятся по контролем версий

Эта заметка -- один из советов по отмене изменений в git. Далее мы будем говорить о файлах, которые попали в директорию репозитория, но для которых по тем или иным причинам ещё не был сделан git add.

Типичная ситуация

Вы добавили файлы в проект, ещё ничего с ними не делали, но тут понимаете, что они вам не нужны (например это были картинки для верстки сайта) и хотите удалить их все средствами git, ведь он должен как-то знать что эти файлы только появились .
(кстати, убедитесь, что ваша IDE не делает git add автоматически для новых файлов, если это так, то сначала вам сюда)

git clean Узнаем что будет удалено

Чтобы удалять файлы, которые не находятся под контролем версий используйте git clean, но прежде чем что-то удалять запустите команду с флагом -n чтобы узнать что будет удалено:

git clean -n

Ну и далее:

  1. Узнать какие файлы будут удалены
    git clean -n
  2. Узнать какие диреткории:
    git clean -nd
  3. Узнать какие файлы и диретории в т.ч. из .gitignore не находятся под контролем (нужно далеко не всегда):
    git clean -ndx

git clean Удаляем файлы

(сначала прочитайте раздел выше!)
Удаляем файлы, которые не под конторлем:

git clean -f

Или вместе с директориями:

git clean -fd

Источники

  1. git clean описание: https://git-scm.com/docs/git-clean

Key Words for FKN + antitotal forum (CS VSU):