]>
git.rmz.io Git - dotfiles.git/blob - zsh/aliases/git.zsh
50bf5cb446f92f00c3d439c423631ffd6d9eadf8
5 alias gsts
='git status -s'
8 alias gup
='git pull --rebase'
11 alias gpf
='git push --force-with-lease'
14 alias gdc
='git diff --cached'
15 function gdm
{ gd
"${1:-origin}"..
}
16 compdef _git gdm
=git
-diff
17 function gdf
{ gd
$(git merge-base --fork-point $1) }
18 compdef _git gdf
=git
-diff
20 alias gc
='git commit -v'
21 alias gcs
='git commit -v --squash'
22 alias gcf
='git commit -v --fixup'
23 alias gca
='git commit -v -a'
24 alias gcaf
='git commit -v -a --fixup'
26 alias gco
='git checkout'
27 alias gcm
='git checkout master'
29 alias gs
='git stash save'
30 alias gsa
='git stash apply'
31 alias gsp
='git stash pop'
32 alias gsd
='git stash drop'
33 alias gsl
='git --no-pager log -g --oneline --pretty=tformat:"%gd %Cblue%cd %C(auto)%h %s" stash@{0} --date=short'
34 alias gss
='git stash show --patch'
37 alias grv
='git remote -v'
38 alias grmv
='git remote rename'
39 alias grrm
='git remote remove'
40 alias grset
='git remote set-url'
41 alias grup
='git remote update'
43 alias gb
='git --no-pager branch'
44 alias gbv
='git --no-pager branch -vv'
45 alias gba
='git --no-pager branch -a'
46 alias gbm
='git --no-pager branch --merged'
47 alias gbdm
='git branch --merged | grep -ve "\*" -e "master" | xargs git branch -d'
49 alias gcl
='git config --list'
50 alias gcp
='git cherry-pick'
52 alias gcount
='git shortlog -sn'
53 alias glg
='git --no-pager log --graph --max-count=20 --format="%Cblue%cd %C(auto)%h%d %s" --date=short'
54 alias glg2
='git --no-pager log --graph --max-count=20 --date=short --format="%C(blue)%cd %C(auto)%h %C(dim cyan)%an %C(bold green)(%ar)%C(auto)%-d%n %s"'
55 function glm
{ glg
"${1:-origin}"..
}
56 compdef _git glm
=git
-log
57 alias glgl
='git log --graph --cherry-mark --boundary --pretty=tformat:"%Cblue%cd %C(auto)%h%d %s" --date=short'
58 alias glgg
='git log --stat --graph --max-count=20 --decorate'
59 alias glgga
='git log --stat --graph --decorate --all'
61 alias grl
='git --no-pager reflog --max-count=20'
67 alias grh
='git reset HEAD'
68 alias grhh
='git reset HEAD --hard'
70 alias gwc
='git whatchanged -p --abbrev-commit --pretty=medium'
72 alias gf
='git ls-files | grep'
74 alias gpoat
='git push origin --all && git push origin --tags'
76 # cd into the top of the current repository
78 alias cdr
='cd $(git rev-parse --show-toplevel || echo ".")'
81 alias git
-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
83 alias gsr
='git svn rebase'
84 alias gsd
='git svn dcommit'
86 # return the current branch name
87 # Usage example: git pull origin $(current_branch)
88 function current_branch
() {
89 ref
=$(git symbolic-ref HEAD 2> /dev/null) || \
90 ref
=$(git rev-parse --short HEAD 2> /dev/null) || return
91 echo ${ref#refs/heads/}
94 function current_repository
() {
95 ref
=$(git symbolic-ref HEAD 2> /dev/null) || \
96 ref
=$(git rev-parse --short HEAD 2> /dev/null) || return
97 echo $(git remote -v | cut -d':' -f 2)
100 # these aliases take advantage of the previous function
101 alias ggpull
='git pull origin $(current_branch)'
102 alias ggpush
='git push origin $(current_branch)'
103 alias ggpnp
='git pull origin $(current_branch) && git push origin $(current_branch)'