如何在我的git仓库中列出所有特定扩展名的文件?

21

我的git仓库跟踪许多种类的文件,例如Ruby文件、YAML文件和Markdown文件。我想要一个列出仓库中所有Ruby文件的列表,但我不能使用find -type f -name '*.rb',因为我还有一个未被git跟踪但包含大量Ruby文件的构建目录。如何只列出那些被git跟踪的*.rb文件?

1个回答

34

尝试以下命令:

git ls-files '*.rb'

3
可以使用命令git ls-files *.rb来实现,更简单。 - PA.
谢谢,@PA。从git-ls-files手册中并不清楚这种用法,我在SO上也找不到任何关于像这样使用参数来git ls-files的提及。 - jayhendren
4
@PA. - 那行不通。没有单引号,Shell会展开通配符模式。 - jayhendren
1
哎呀,OP 没有提到所使用的 shell。它在 Windows 上运行。 - PA.
1
如果在当前目录中没有任何*.rb文件,那么git ls-files *.rb的行为取决于您的shell设置。这可能是一个错误(没有匹配的文件)或者shell只是将*.rb传递给git ls-files。故事的寓意是:使用引用和/或转义。没有引用或转义,一切都取决于具体情况。 - hagello
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接