diff options
Diffstat (limited to 'dotfiles/system/.zshrc.d/git.sh')
| -rw-r--r-- | dotfiles/system/.zshrc.d/git.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/dotfiles/system/.zshrc.d/git.sh b/dotfiles/system/.zshrc.d/git.sh new file mode 100644 index 0000000..6c2b6ad --- /dev/null +++ b/dotfiles/system/.zshrc.d/git.sh @@ -0,0 +1,32 @@ +# git.sh +# Craig Jennings <c@cjennings.net> +# Git aliases and convenience functions + +# ============================================================================= +# Aliases +# ============================================================================= +alias gitlog="git log --graph --pretty=format:'%Cred%h%Creset %an: %s - %Creset %C(yellow)%d%Creset %Cgreen(%cr)%Creset' --abbrev-commit --date=relative" +alias gitstatus='git status -sb' +alias gitcom='git commit -m' +alias gitpp='git pull --prune' +alias gittagbydate="git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags" + +# ============================================================================= +# Functions +# ============================================================================= + +# Stash, pull, pop +gitsp() { + git stash && git pull && git stash pop +} + +# Checkout branch with fzf +gitck() { + git checkout "$(git branch --all | fzf | tr -d '[:space:]')" +} + +# Diff with fzf preview +gitdiff() { + preview="git diff $@ --color=always -- {-1}" + git diff "$@" --name-only | fzf -m --ansi --preview "$preview" +} |
