git.zsh 947 Bytes
Newer Older
1
2
# get the name of the branch we are on
function git_prompt_info() {
Christopher Sexton's avatar
Christopher Sexton committed
3
  ref=$(git symbolic-ref HEAD 2> /dev/null) || return
4
  echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
5
}
6

7
parse_git_dirty () {
8
  if [[ -n $(git status -s 2> /dev/null) ]]; then
9
10
11
12
    echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
  else
    echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
  fi
13
}
14

15
16
17
18
19
20
21
22
#
# 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/}
}
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

# Aliases
alias g='git'
alias gst='git status'
alias gl='git pull'
alias gup='git fetch && git rebase'
alias gp='git push'
alias gd='git diff | mate'
alias gdv='git diff -w "$@" | vim -R -'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'
alias gcount='git shortlog -sn'
alias gcp='git cherry-pick'