diff options
Diffstat (limited to 'plugins/git/git.plugin.zsh')
-rw-r--r-- | plugins/git/git.plugin.zsh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh new file mode 100644 index 000000000..bc340e86b --- /dev/null +++ b/plugins/git/git.plugin.zsh @@ -0,0 +1,50 @@ +# Aliases +alias g='git' +compdef g=git +alias gst='git status' +compdef _git gst=git-status +alias gl='git pull' +compdef _git gl=git-pull +alias gup='git fetch && git rebase' +compdef _git gup=git-fetch +alias gp='git push' +compdef _git gp=git-push +gdv() { git-diff -w "$@" | view - } +compdef _git gdv=git-diff +alias gc='git commit -v' +compdef _git gc=git-commit +alias gca='git commit -v -a' +compdef _git gca=git-commit +alias gco='git checkout' +compdef _git gco=git-checkout +alias gb='git branch' +compdef _git gb=git-branch +alias gba='git branch -a' +compdef _git gba=git-branch +alias gcount='git shortlog -sn' +compdef gcount=git +alias gcp='git cherry-pick' +compdef _git gcp=git-cherry-pick +alias glg='git log --stat --max-count=5' +compdef _git glg=git-log + +# Git and svn mix +alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' +compdef git-svn-dcommit-push=git + +# +# Will return the current branch name +# Usage example: git pull origin $(current_branch) +# +function current_branch() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + echo ${ref#refs/heads/} +} + +# these aliases take advantage of the previous function +alias ggpull='git pull origin $(current_branch)' +compdef ggpull=git +alias ggpush='git push origin $(current_branch)' +compdef ggpush=git +alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' +compdef ggpnp=git |