alias gup='git pull --rebase'
alias gp='git push'
+alias gpf='git push --force-with-lease'
alias gd='git diff'
alias gdc='git diff --cached'
+function gdm { gd "${1:-origin}".. }
+compdef _git gdm=git-diff
alias gc='git commit -v'
alias gcs='git commit -v --squash'
alias gcount='git shortlog -sn'
alias glg='git --no-pager log --oneline --graph --max-count=20 --decorate'
alias glg='git --no-pager log --graph --max-count=20 --pretty=tformat:"%Cblue%cd %C(auto)%h%d %s" --date=short'
+function glm { glg "${1:-origin}".. }
+compdef _git glm=git-log
alias glgl='git log --graph --pretty=tformat:"%Cblue%cd %C(auto)%h%d %s" --date=short'
alias glgg='git log --stat --graph --max-count=20 --decorate'
alias glgga='git log --stat --graph --decorate --all'
# cd into the top of the current repository
# or submodule.
-alias grt='cd $(git rev-parse --show-toplevel || echo ".")'
+alias cdr='cd $(git rev-parse --show-toplevel || echo ".")'
# Git and svn mix
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'