My Git Aliases
published 2010-07-27
After you've been using Git for a while, you start to get kind of bored with typing git commit -a -m "some message" all the time, and you never want to see this message ever again:
$> git stastus git: 'stastus' is not a git-command. See 'git --help'. Did you mean this? status
(why can't you just do it for me!)
Ken had set up some nice aliases for git on his machine, so I totally stole them. My only regret is that it took me so long to do it. (I am glad that I didn't do this right when I started using Git, though -- it was worth while getting the long commands deeply ingrained into my memory before I started taking short cuts).
Here's what I came up with:
alias gpom='git push origin master' alias st='git status' alias gppp='git pull peter master' alias gcam='git commit -a -m ' alias gd='git diff '
Obviously you don't want the git pull peter master one, but the rest are probably close to something you use all the time.
I also wanted one that replaces
git commit some_file some_other_file -m "commit message"
with something like
gcom some_file some_other_file "commit message"
but my bash-fu wasn't strong enough, so I resorted to a quick Ruby script instead:
#!/usr/bin/env ruby USAGE = 'gcom <file 1> <file 2> "commit message" ==> git commit <file 1> <file 2> -m "commit message"' (puts USAGE; exit) if(ARGV.length == 0) message = ARGV.pop exec "git commit #{ARGV.join(' ')} -m \"#{message}\""
These are still a work in progress, and there's nothing earth shattering here, but I thought I'd throw up a post just for the heck of it.