查找修改与GIT存储库中的模式匹配的文件名的提交

Bas*_*tes 34 git filenames find

我想在我的代码库中找到添加视频文件的提交.有没有办法在git中查找这些文件?

例如,假设所有视频的文件名以扩展名.wmv结尾; 我想找到介绍这些文件的所有提交,并通过修复或其他东西摆脱它们.

有任何想法吗 ?

kni*_*ttl 39

你可以使用git logpathspec:

git log --all -- '*.wmv'
Run Code Online (Sandbox Code Playgroud)

这将获得所有对.wmv文件进行更改的提交.是的,这也将下降到子目录中(但你必须用单引号包围你的pathspec,所以它将按原样传递给git).

如果您只对提交哈希(脚本等)感兴趣,请git rev-list直接使用机器:

git rev-list --all -- '*.wmv'
Run Code Online (Sandbox Code Playgroud)

  • 这似乎根本不起作用。经过这两个命令和漫长的等待,我什么也没有。 (2认同)
  • 不,这不起作用。我尝试 git log --all -- '\*.java' 但 find 时什么也没得到。-name '\*.java' 列出所有文件。 (2认同)

adl*_*adl 6

如果要从所有提交中删除这些文件,请考虑使用该filter-branch命令重写整个历史记录.例如,

git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r *.wml' HEAD
Run Code Online (Sandbox Code Playgroud)