With git, how do you search for a file pattern with `git log` instead of a file path?
You can limit your git log
search 开发者_如何学运维to a file like so:
git log [branch] -- foo.c
But how would you limit the search to a file pattern instead of a full path?
- Consider that you may run
git log
on another branch, where shell expansion of*
won't work, so you can't depend on the shell to do the file pattern matching. - Also, you can't specify a branch with
git ls-files
.
Or just drop the leading .
, i.e.:git log -- *foo.c
, or even git log -- ./*foo.c
I tend to do things like this:
git ls-files [--with-tree=<branch>] [path] | grep '<pattern>' | xargs git log [branch]
Use the --glob
option.
Ref: http://git-scm.com/docs/git-log
精彩评论