Git Status - список только прямых подпапок с изменениями, а не внутренних файлов
Мне нравится использовать Git для организации контроля версий и резервного копирования всех моих веб-файлов в Wordpress.
После обновления плагинов я хотел бы получить список изменений только в прямой подпапке, используя git status
, Обычно при выполнении git status будет очень длинная строка изменений, включая внутреннюю часть каждой подпапки. я хотел бы ограничить результат вложенными папками с изменениями внутри plugins
каталог.
Например, эта команда git:
git status project_folder/wp-content/plugins
приведет к:
plugins/wpml-translation-management/classes/translation-basket/
plugins/wpml-translation-management/classes/translation-dashboard/
plugins/acfml/assets/
plugins/acfml/classes/class-wpml-acf-attachments.php
plugins/wordpress-seo/js/dist/commons-921.min.js
plugins/wordpress-seo/js/dist/components-921.min.js
На самом деле, команда git создаст очень длинный список строк, как на скриншоте:
Я хотел бы знать, что команда git выводит только:
plugins/wpml-translation-management/
plugins/acfml/
plugins/wordpress-seo/
Команда такая:
git status project_folder/wp-content/plugins -{display_only_direct_subfolders_with_changes}
1 ответ
Попробуй это:
git status --porcelain | awk '{print $2}' | xargs -n 1 dirname | uniq
awk '{print $2}'
получить имя файла из списка
xargs -n 1 dirname
извлечь каталог из полного пути
uniq
показывать только уникальные каталоги
uniq
может быть немного медленнее, когда у вас много строк