Find commits that modify file names matching a pattern in a GIT repository

Bastes picture Bastes · Jun 27, 2011 · Viewed 13.4k times · Source

I'd like to find commits in my code base that add video files to throw them out. Is there a way to look for these files in git ?

For example let's say all videos have a filename ending with the extension .wmv ; I'd like to find all commits introducing these files and get rid of them with a fixup or something.

Any ideas ?

Answer

knittl picture knittl · Jun 27, 2011

you can use git log with a pathspec:

git log --all -- '*.wmv'

this will get you all commits which make changes to .wmv files. yes, this will descend into subdirectories too (but you have to surround your pathspec with single quotes, so it will be passed as is to git).

if you are only interested in commit hashes (scripting etc.) use the git rev-list machinery directly:

git rev-list --all -- '*.wmv'