当我想获得我已经改变的文件列表时,我使用这个命令:
git diff --name-only
但很多时候,我得到了许多我现在不关心的文件。例如,如果我上传到我的PHP服务器,我通常只需要.php文件列表。我试过这个:
git diff --name-only **/*.php
但遗憾的是,它只显示第一个子目录中的文件。所以看起来它并不是将双星解释为递归。
有什么想法吗?
答案 0 :(得分:9)
只利用grep:
git diff --name-only | grep .php
答案 1 :(得分:3)
git diff --name-only '**/*.php'
(注意引号)
修改强>
大多数POSIX shell不支持该模式。从你的评论中我得知git也没有(我现在无法测试)。
解决方法可能是
git diff --name-only $(find . -name \*.php)
答案 2 :(得分:1)
使用引号获取git以执行过滤器:
git diff --name-only "*.php"