Могу ли я сказать, что заставляет git задуматься, но затем отказаться от их удаления?
Вы действительно можете! (С июля 2013 года, грядущий git 1.8.4):
Команда "git clean
" выучила интерактивный режим.
См. commit 17696002086e8c6b9e998543d212e707c7d511ab для начальной реализации:
См. commit d1239264f2786d7ea15543b980c6bf6afbc4701a для реализации:
Добавить новое действие для интерактивного git-clean
: фильтр по шаблону .
Когда пользователь выбирает это действие, он может вводить разделенные пробелами шаблоны (тот же синтаксис, что и gitignore
), и каждый чистый кандидат, который соответствует одному из шаблонов, будет исключен из очистки.
Когда пользователь чувствует, что все в порядке, нажимает ENTER и возвращается в диалоговое окно подтверждения.
См. commit db627fd568410499c47d764937c3d7a10bbadffa для тестов и примеров.
См. commit c0be6b4c8a1d16a92efad00d73683075cf2da60d для документации
Показать, что будет сделано, и очистить файлы в интерактивном режиме.
Интерактивный режим
Когда команда входит в интерактивный режим, она показывает файлы и каталоги, которые нужно очистить, и переходит в свой интерактивный цикл команд.
Цикл команд показывает список доступных подкоманд и выдает приглашение «What now>
».
В общем, когда подсказка заканчивается одним «>
», вы можете выбрать только один из предложенных вариантов и набрать return , например:
------------
*** 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::
Запустите очистку файлов и каталогов, а затем закройте.
filter by pattern::
Показывает файлы и каталоги, которые нужно удалить, и выдает приглашение «Input ignore patterns>>
».
Вы можете ввести разделенные пробелами шаблоны, чтобы исключить файлы и каталоги из удаления.
Например. «*.c *.h
» исключает файлы, заканчивающиеся на «.c
» и «.h
», из удаления.
Когда вы будете удовлетворены отфильтрованным результатом, нажмите ENTER (пусто), чтобы вернуться в главное меню.
select by numbers
Показывает файлы и каталоги, которые нужно удалить, и выдает приглашение «Select items to delete>>
».
Когда подсказка заканчивается двойным «>>
», например, вы можете сделать более одного выбора, объединенного с пробелом или запятой.
Также вы можете сказать диапазоны.
Например. «2-5 7,9
» для выбора 2,3,4,5,7,9 из списка.
Если второе число в диапазоне опущено, все оставшиеся патчи принимаются.
Например. «7-
» для выбора 7,8,9 из списка.
Вы можете сказать «*
», чтобы выбрать все.
Также, когда вы удовлетворены отфильтрованным результатом, нажмите ENTER (пусто), чтобы вернуться в главное меню.
ask each::
Это начнет очищаться, и вы должны подтвердить одно за другим, чтобы удалить элементы.
Обратите внимание, что это действие не так эффективно, как приведенные выше два действия.
quit::
Это позволяет вам выйти без очистки.
help::
Показать краткое использование интерактивной git-clean.