Created
July 12, 2012 23:24
-
-
Save lonnen/3101795 to your computer and use it in GitHub Desktop.
git grep and git blame. two great tastes that taste great together
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |
} |
Love the fish shell, thanks! Unfortunately, can't pass grep arguments.
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.)
Instead of using $1
or $1 $2
, why not use "$@"
, since all arguments seem to be used together anyway`? Or is this syntax something that exists only in some shells (e.g. Bash) but not in others?
@rafpaf What does the exclamation mark before r()
in your alias do?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
fish shell: