如何判断git是否曾跟踪过文件X.

Jef*_*ing 21 git

我试过谷歌搜索解决这个问题,但还没有找到一个.

给定一个名为'/ project'的工作目录,我试图找到一种方法来告诉git是否曾在存储库的历史记录中跟踪过一个名为'/ project/x/y/fubar'的文件.

这可能吗?这似乎应该有一个答案,但我的谷歌今天早上失败了.

编辑:可能重复如何判断文件是否被git跟踪(通过shell退出代码)?

我不认为这个问题与此问题相同,因为我试图获取信息的文件不能保证当前由git跟踪,并且在调用时可能不存在于工作目录中.这个问题的答案似乎都告诉你文件当前是否被git跟踪.请告诉我,如果我错了,其中一个解决方案可以接受我的目标.

man*_*lds 26

最简单的是git log --all -- x/y/fubar- 如果文件在那里,它将至少提供一个日志条目.


dch*_*dch 8

一个更好的方法是:

git log --all --pretty=format: --name-only --diff-filter=A | sort - | grep fubar
Run Code Online (Sandbox Code Playgroud)

从其他几个答案中合并而来.