Перейти к содержимому

Как удалить все untracked файлы

  • автор:

Git: удаление неотслеживаемых файлов

Для удаления неотслеживаемых файлов в Git имеется специальная команда git clean.

Что бы рекурсивно удалить все неотслеживаемые файлы в текущей ветке выполняем команду git clean -df

Что бы удалить ещё и файлы перечисленные в .gitignore необходимо добавить ключ -x : git clean -dfx

Если вам необходимо удалить файлы только в определенных поддиректориях, то вы можете указать их в конце команды.

Перед выполнением полезно узнать какие файлы будут удалены, что бы не стереть важное. Для этого добавьте к команде ключ -n .

Также в Git есть возможность удалять файлы в интерактивном режиме: просто выполните git clean -i и вам покажут меню в котором можно фильтровать и выбирать файлы подлежащие удалению.

Другие статьи в блоге:

  • Git: обновление ветки до актуального состояния
  • Guava — простые рецепты, делающие ваш Java код чище, часть 1
  • Тёмная сторона AsyncTask
  • Пишем эмулятор CHIP-8. Часть 4: Ядро
  • Пишем эмулятор CHIP-8. Часть 3: Примеры программ

Как удалить неотслеживаемые файлы в Git

Файлы в рабочем каталоге Git можно отслеживать или нет.

Отслеживаемые файлы — это те, которые были добавлены и зафиксированы, и Git знает о них. Отслеживаемые файлы могут быть неизмененными, модифицированными или размещенными. Все остальные файлы в рабочем каталоге не отслеживаются, и git не знает об этих файлах.

Иногда ваш рабочий каталог git может быть загроможден ненужными файлами, которые либо автоматически сгенерированы, либо остались после слияния, либо созданы по ошибке. В таких ситуациях вы можете добавить эти файлы в .gitignore или удалить их. Если вы хотите, чтобы репозиторий оставался чистым и красивым, лучше всего удалить ненужные файлы.

В этой статье объясняется, как удалить неотслеживаемые файлы в Git.

Удаление неотслеживаемых файлов

Команда, которая позволяет удалить неотслеживаемые файлы, — это git clean .

Всегда рекомендуется делать резервную копию вашего репозитория, потому что после удаления файлы и внесенные в них изменения не могут быть восстановлены.

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

git clean -d -n 

Результат будет выглядеть примерно так:

Would remove content/test/ Would remove content/blog/post/example.md 

Если некоторые из файлов, перечисленных выше, важны, вам следует либо начать отслеживать эти файлы с помощью git add либо добавить их в свой .gitignore .

Если вы уверены, что хотите продолжить и удалить неотслеживаемые файлы и каталоги, введите:

git clean -d -f

Команда распечатает все успешно удаленные файлы и каталоги:

Removing content/test/ Removing content/blog/post/example.md 

Параметр -d указывает git удалять и неотслеживаемые каталоги. Если вы не хотите удалять пустые неотслеживаемые каталоги, опустите параметр -d .

Параметр -f означает силу. Если не используется и для переменной конфигурации Git clean.requireForce установлено значение true, Git не удалит файлы.

Чтобы в интерактивном режиме удалить неотслеживаемые файлы, используйте параметр -i :

git clean -d -i

Вывод покажет файлы и каталоги, которые нужно удалить, и спросит вас, что делать с этими файлами:

Would remove the following items: content/test/ content/blog/post/example.md *** Commands *** 1: clean 2: filter by pattern 3: select by numbers 4: ask each 5: quit 6: help 

Выберите один из вариантов и нажмите Enter .

Если вы хотите ограничить операцию очистки заданными каталогами, передайте пути к каталогам, которые нужно проверить на наличие неотслеживаемых файлов, в качестве аргументов команды. Например, чтобы проверить файлы в каталоге src , вы должны запустить:

git clean -d -n src

Удаление игнорируемых файлов

Команда git clean также позволяет удалять игнорируемые файлы и каталоги.

Чтобы удалить все игнорируемые и неотслеживаемые файлы, используйте параметр -x :

git clean -d -n -x

Если вы хотите удалить только игнорируемые файлы и каталоги, используйте параметр -X :

git clean -d -n -X

Приведенная выше команда удалит все файлы и каталоги, перечисленные в вашем .gitignore и сохранит неотслеживаемые файлы.

Выводы

В этом руководстве мы показали вам, как удалить неотслеживаемые файлы и каталоги в Git. Не забывайте всегда запускать команду всухую перед фактическим удалением файлов.

Если у вас есть отзыв, оставьте комментарий ниже.

Как удалить неотслеживаемые файлы в Git 1 мин для чтения

MSI отдает дань уважения Monster Hunter, предлагая тематическую графику, материнскую плату и монитор

Favorite

Добавить в избранное

Главное меню » Linux » Как удалить неотслеживаемые файлы в Git

Как создать и перечислить локальные и удаленные ветки Git

Файлы в рабочем каталоге Git могут быть отслежены или не отслежены.

Отслеживаемые файлы — это те, которые были добавлены и зафиксированы, и git знает о них. Отслеживаемые файлы могут быть не изменены, изменены или размещены. Все остальные файлы в рабочем каталоге не отслеживаются, и git не знает об этих файлах.

Иногда ваш рабочий каталог git может быть загроможден ненужными файлами, которые либо создаются автоматически, либо остаются после слияний, либо создаются по ошибке. В этих ситуациях вы можете добавить эти файлы в папку .gitignore или удалить их. Если вы хотите, чтобы ваш репозиторий был красивым и чистым, лучше удалить ненужные файлы.

В этой статье объясняется, как удалить неотслеживаемые файлы в Git.

Удаление неотслеживаемых файлов

Команда, которая позволяет вам удалить неотслеживаемые файлы git clean.

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

Перед выполнением команды и удалением неотслеживаемых файлов и каталогов используйте опцию -n, которая выполнит «пробный запуск» и покажет, какие файлы и каталоги будут удалены:

git clean -d -n

Вывод будет выглядеть примерно так:

Would remove content/test/ Would remove content/blog/post/example.md

Если некоторые из перечисленных выше файлов важны, вы должны либо начать отслеживать эти файлы, git add либо добавить их в свой .gitignore.

Если вы уверены, что хотите продолжить и удалить неотслеживаемые файлы и каталоги, введите:

git clean -d -f

Команда напечатает все успешно удаленные файлы и каталоги:

Removing content/test/ Removing content/blog/post/example.md

Параметр -d указывает git, чтобы удалить неотслеживаемые каталоги тоже. Если вы не хотите удалять пустые неотслеживаемые каталоги, опустите опцию -d.

Читать Как обновить Debian 11 до Debian 12 Bookworm

Параметр -f означает силу. Если не используется и для переменной конфигурации Git clean.requireForce установлено значение true, Git не будет удалять файлы.

Если вы хотите удалить неотслеживаемые файлы в интерактивном режиме, используйте параметр -i:

git clean -d -i

Вывод покажет файлы и каталоги, которые нужно удалить, и спросит вас, что делать с этими файлами:

Would remove the following items: content/test/ content/blog/post/example.md *** Commands *** 1: clean 2: filter by pattern 3: select by numbers 4: ask each 5: quit 6: help

Выберите один из вариантов и нажмите Enter.

Если вы хотите ограничить операцию очистки указанными каталогами, передайте пути к каталогам, которые будут проверяться на наличие неотслеживаемых файлов, в качестве аргументов команды. Например, чтобы проверить файлы в каталоге src, вы должны выполнить:

git clean -d -n src

Удаление проигнорированных файлов

Команда git clean также позволяет удалять игнорируемые файлы и каталоги.

Чтобы удалить все пропущенные и неотслеживаемые файлы, используйте параметр -x:

git clean -d -n -x

Если вы хотите удалить только пропущенные файлы и каталоги, используйте параметр -X:

git clean -d -n -X

Команда, приведенная выше, удалит все файлы и каталоги, перечисленные в вашем файле .gitignore, и сохранит неотслеживаемые файлы.

Заключение

В этой статье мы показали, как удалять неотслеживаемые файлы и каталоги в Git. Не забывайте всегда выполнять команду всухую перед тем, как удалять файлы.

Если у вас есть отзывы, оставьте комментарий ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

git clean Удалить новые файлы и папки (untracked), которые ещё не попали в индекс (под контроль версий)

vedro-compota's picture

— при этом чтобы удалить и саму папку, а не только содержимое, не ставьте после её имени слэш.

Источники:

  • Подробнее о проблеме: https://stackoverflow.com/questions/6121.
  • Подробнее о git clean: https://git-scm.com/docs/git-clean

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *