Поиск по сайту:
Какая наука самая необходимая? Наука забывать ненужное (Антисфен).

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

19.08.2019
Как создать и перечислить локальные и удаленные ветки 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 <file>либо добавить их в свой .gitignore.

Читать  5 простых шагов по отладке сценария оболочки Bash

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

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

 

Читать  Полное руководство по удалению образов Docker

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

git clean -d -n -X

 

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

 

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

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

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Многослойный персептрон определяет наиболее сложную архитектуру искусственных нейронных сетей. Он в…

Спасибо!

Теперь редакторы в курсе.