GIT:使用某些扩展名更改了文件名

时间:2011-01-19 10:43:55

标签: git version-control subdirectory git-diff

当我想获得我已经改变的文件列表时,我使用这个命令:

git diff --name-only

但很多时候,我得到了许多我现在不关心的文件。例如,如果我上传到我的PHP服务器,我通常只需要.php文件列表。我试过这个:

git diff --name-only **/*.php

但遗憾的是,它只显示第一个子目录中的文件。所以看起来它并不是将双星解释为递归。

有什么想法吗?

3 个答案:

答案 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"