Spec-Zone.ru › Git

git-clean

Имя

git-clean — Удаление не отслеживаемых файлов из рабочей области

Синтаксис

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] [<pathspec>…​]

Описание

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

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

Если указаны дополнительные <pathspec>... аргументы, то затрагиваются только те пути, которые соответствуют заданному шаблону путей.

Параметры

-d

В обычном режиме, когда не указан параметр <pathspec>, git clean не будет рекурсивно входить в неотслеживаемые директории, чтобы избежать удаления слишком многого. Используйте -d, чтобы git clean рекурсивно входил в такие директории. Если указан параметр <pathspec>, параметр -d не имеет значения; все неотслеживаемые файлы, соответствующие заданным путям (с исключением вложенных git-директорий, упомянутых в --force), будут удалены.

-f
--force

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

-i
--interactive

Показать, что будет сделано, и выполнить удаление файлов в интерактивном режиме. Подробности см. в разделе «Интерактивный режим». Переменная конфигурации clean.requireForce игнорируется, так как данный режим имеет собственную защиту, переходя в интерактивный режим.

-n
--dry-run

Не удалять ничего на самом деле, а только показать, что будет сделано. Переменная конфигурации clean.requireForce игнорируется, так как ничего не будет удалено.

-q
--quiet

Не выводить сообщения, а только сообщения об ошибках, но не файлы, которые успешно удалены.

-e <pattern>
--exclude=<pattern>

Использовать заданный шаблон исключения в дополнение к стандартным правилам игнорирования (см. gitignore[5]).

-x

Не использовать стандартные правила игнорирования (см. gitignore[5]), но по-прежнему использовать правила игнорирования, заданные с помощью -e опций из командной строки. Это позволяет удалить все неотслеживаемые файлы, включая файлы сборки. Это можно использовать (возможно, в сочетании с git restore или git reset) для создания чистой рабочей директории для тестирования чистой сборки.

-X

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

Интерактивный режим

Когда команда переходит в интерактивный режим, она отображает файлы и директории, подлежащие очистке, и переходит в цикл интерактивных команд.

Цикл команд отображает список доступных подкоманд и выводит приглашение «What now>». В общем случае, когда приглашение заканчивается одиночным >, вы можете выбрать только один из предложенных вариантов и нажать Enter, например так:

    *** Commands ***
        1: clean                2: filter by pattern    3: select by numbers
        4: ask each             5: quit                 6: help
    What now> 1

Также можно ввести c или clean выше, при условии, что выбор уникален.

Основной цикл команд содержит 6 подкоманд.

clean

Начать очистку файлов и директорий и затем выйти.

фильтровать по шаблону

Это отображает файлы и директории, подлежащие удалению, и выводит приглашение «Input ignore patterns>>». Вы можете ввести разделенные пробелами шаблоны для исключения файлов и директорий из удаления. Например, "*.c *.h" исключит файлы, оканчивающиеся на ".c" и ".h", из удаления. Когда вы удовлетворены результатом фильтрации, нажмите ENTER (пустое), чтобы вернуться в главное меню.

выбрать по номерам

Это отображает файлы и директории, подлежащие удалению, и выводит приглашение «Select items to delete>>». Когда приглашение заканчивается двойным >>, как в этом примере, можно сделать несколько выборов, разделив их пробелами или запятыми. Также можно указывать диапазоны. Например, «2-5 7,9» для выбора 2,3,4,5,7,9 из списка. Если второй номер в диапазоне опущен, выбираются все оставшиеся элементы. Например, «7-» для выбора 7,8,9 из списка. Можно ввести * для выбора всего. Когда вы удовлетворены результатом фильтрации, нажмите ENTER (пустое), чтобы вернуться в главное меню.

запросить каждый

Это начнет очистку, и вы должны подтвердить удаление каждого элемента по очереди. Обратите внимание, что этот способ не так эффективен, как два предыдущих.

выйти

Это позволяет выйти без выполнения очистки.

помощь

Показать краткое использование интерактивного git-clean.

Настройка

Все, что находится ниже этой строки в этом разделе, выборочно включено из документации git-config[1]. Содержимое такое же, как и там:

clean.requireForce

Булево значение, чтобы git-clean отказывался удалять файлы, если не задан параметр -f. По умолчанию true.

См. также

gitignore[5]

clean

© 2005–2026 Linus Torvalds and others
Licensed under the GNU General Public License version 2.
https://git-scm.com/docs/git-clean

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API