Skip to content

Instantly share code, notes, and snippets.

@lonnen
Created July 12, 2012 23:24
Show Gist options
  • Save lonnen/3101795 to your computer and use it in GitHub Desktop.
Save lonnen/3101795 to your computer and use it in GitHub Desktop.
git grep and git blame. two great tastes that taste great together
# from i8ramin - http://getintothis.com/blog/2012/04/02/git-grep-and-blame-bash-function/
# runs git grep on a pattern, and then uses git blame to who did it
ggb() {
git grep -n $1 | while IFS=: read i j k; do git blame -L $j,$j $i | cat; done
}
# small modification for git egrep bash
geb() {
git grep -E -n $1 | while IFS=: read i j k; do git blame -L $j,$j $i | cat; done
}
@sunapi386
Copy link

Love the fish shell, thanks! Unfortunately, can't pass grep arguments.

@rafpaf
Copy link

rafpaf commented Jan 15, 2024

I use this alias in .gitconfig:

grame = "!r() { git grep -n $1 $2 | while IFS=: read i j k; do echo $i; git blame -f -L $j,$j $i; done }; r"

(To see the filename, I added echo $i to @henrik242's command mentioned above.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment