69 lines
1.9 KiB
Bash
69 lines
1.9 KiB
Bash
#!/usr/bin/env zsh
|
|
|
|
g() { [[ $# = 0 ]] && git status --short . || git $*; }
|
|
|
|
alias cdg='cd `git rev-parse --show-toplevel`'
|
|
alias git='noglob git'
|
|
alias ga='git add'
|
|
alias gap='git add --patch'
|
|
alias gb='git branch -av'
|
|
alias gop='git open'
|
|
alias gbl='git blame'
|
|
alias gc='git commit'
|
|
alias gcm='git commit -m'
|
|
alias gca='git commit --amend'
|
|
alias gcf='git commit --fixup'
|
|
alias gcl='git clone'
|
|
alias gco='git checkout'
|
|
alias gcoo='git checkout --'
|
|
alias gf='git fetch'
|
|
alias gi='git init'
|
|
alias gl='git log --graph --pretty="format:%C(yellow)%h%Creset %C(red)%G?%Creset%C(green)%d%Creset %s %Cblue(%cr) %C(bold blue)<%aN>%Creset"'
|
|
alias gll='git log --pretty="format:%C(yellow)%h%Creset %C(red)%G?%Creset%C(green)%d%Creset %s %Cblue(%cr) %C(bold blue)<%aN>%Creset"'
|
|
alias gL='gl --stat'
|
|
alias gp='git push'
|
|
alias gpl='git pull --rebase --autostash'
|
|
alias gs='git status --short .'
|
|
alias gss='git status'
|
|
alias gst='git stash'
|
|
alias gr='git reset HEAD'
|
|
alias gv='git rev-parse'
|
|
|
|
# fzf
|
|
if (( $+commands[fzf] )); then
|
|
__git_log () {
|
|
# format str implies:
|
|
# --abbrev-commit
|
|
# --decorate
|
|
git log \
|
|
--color=always \
|
|
--graph \
|
|
--all \
|
|
--date=short \
|
|
--format="%C(bold blue)%h%C(reset) %C(green)%ad%C(reset) | %C(white)%s %C(red)[%an] %C(bold yellow)%d"
|
|
}
|
|
|
|
_fzf_complete_git() {
|
|
ARGS="$@"
|
|
|
|
# these are commands I commonly call on commit hashes.
|
|
# cp->cherry-pick, co->checkout
|
|
|
|
if [[ $ARGS == 'git cp'* || \
|
|
$ARGS == 'git cherry-pick'* || \
|
|
$ARGS == 'git co'* || \
|
|
$ARGS == 'git checkout'* || \
|
|
$ARGS == 'git reset'* || \
|
|
$ARGS == 'git show'* || \
|
|
$ARGS == 'git log'* ]]; then
|
|
_fzf_complete "--reverse --multi" "$@" < <(__git_log)
|
|
else
|
|
eval "zle ${fzf_default_completion:-expand-or-complete}"
|
|
fi
|
|
}
|
|
|
|
_fzf_complete_git_post() {
|
|
sed -e 's/^[^a-z0-9]*//' | awk '{print $1}'
|
|
}
|
|
fi
|