Search all of Git history for a string?
git rev-list --all | (
while read revision; do
git grep -F 'password' $revision
done
)
Git can search diffs with the -S option (it's called pickaxe in the docs)
git log -S password
This will find any commit that added or removed the string password
. Here a few options:
-p
: will show the diffs. If you provide a file (-p file
), it will generate a patch for you.-G
: looks for differences whose added or removed line matches the given regexp, as opposed to-S
, which "looks for differences that introduce or remove an instance of string".--all
: searches over all branches and tags; alternatively, use--branches[=<pattern>]
or--tags[=<pattern>]