Git Status - список только прямых подпапок с изменениями, а не внутренних файлов - PullRequest
0 голосов
/ 15 января 2019

Мне нравится использовать 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 создаст очень длинный список строк, как на скриншоте:

enter image description here

Я хотел бы знать, что команда git выводит только:

plugins/wpml-translation-management/
plugins/acfml/
plugins/wordpress-seo/

Команда такая:

git status project_folder / wp-content / plugins - {display_only_direct_subfolders_with_changes}

1 Ответ

0 голосов
/ 15 января 2019

попробуйте это:

git status --porcelain | awk '{print $2}' | xargs -n 1 dirname | uniq

awk '{print $2}' 

получить имя файла из списка

xargs -n 1 dirname 

извлечь каталог из полного пути

uniq

показывать только уникальные каталоги

uniq может быть немного медленнее, если у вас много строк

...