Git状态-仅列出具有更改的直接子文件夹,而不列出内部文件

时间:2019-01-15 06:31:26

标签: wordpress git plugins version-control git-status

我喜欢使用Git来组织版本控制并在Wordpress中备份我的所有Web文件。

更新插件后,我只想使用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 :(得分:1)

尝试一下:

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

awk '{print $2}' 

从列表中获取文件名

xargs -n 1 dirname 

从完整路径中提取目录

uniq

仅显示唯一目录

uniq可能会慢很多行