Marty Oehme
98cb2ba48c
Every so often, when doing rebases, you need quick access to the git rebase command to do something like '--edit-todo' or similar. Every time, I tried to do `grb` since I already use these quick shortcuts for `grbm` rebasing onto master, and `grbi`, `grbc` to rebase interactively or continue one in progress. The base version is thus a natural extension of the more detailed implementations of rebasing.
77 lines
1.7 KiB
Bash
77 lines
1.7 KiB
Bash
#!/usr/bin/env sh
|
|
|
|
if ! exist git; then
|
|
return 1
|
|
fi
|
|
|
|
# git alias
|
|
|
|
alias g='git'
|
|
|
|
alias ga='git add'
|
|
alias gaa='git add --all'
|
|
alias gai='git add -i'
|
|
alias gb='git branch'
|
|
alias gbd='git branch -d'
|
|
|
|
alias gc='git commit -v'
|
|
alias gc!='git commit -v --amend'
|
|
alias gcn!='git commit -v --no-edit --amend'
|
|
|
|
alias gcm='git checkout master'
|
|
alias gcd='git checkout develop'
|
|
alias gcb='git checkout -b'
|
|
alias gco='git checkout'
|
|
|
|
alias gd='git diff'
|
|
alias gds='git diff --staged'
|
|
|
|
alias gi='git ignore'
|
|
|
|
# show last committed content
|
|
alias gll='git last'
|
|
# show quick log overview
|
|
alias glg='git log --oneline --decorate --graph'
|
|
alias glga='git log --oneline --decorate --graph --remotes --all'
|
|
# show detailed log overview
|
|
alias glog='git log --stat'
|
|
# show detailed log overview with contents
|
|
alias gloog='git log --stat -p'
|
|
|
|
alias gf='git fetch'
|
|
alias gl='git pull'
|
|
|
|
alias gpn='git push --dry-run'
|
|
alias gp='git push'
|
|
alias gpf!='git push --force'
|
|
alias gpm='git pushmerge'
|
|
alias gpa='git pushall'
|
|
|
|
alias grv='git remote -v'
|
|
|
|
alias grs='git restore --staged'
|
|
alias grs!='git restore'
|
|
|
|
alias grb='git rebase'
|
|
alias grbi='git rebase -i'
|
|
alias grbc='git rebase --continue'
|
|
alias grbm='git rebase master'
|
|
|
|
alias gst='git status'
|
|
|
|
# if git is at least version 2.13, we can use git stash push
|
|
# in shells other than zsh, simply fall back to save
|
|
case "$(ps -cp "$$" -o command="")" in
|
|
*zsh*)
|
|
autoload -Uz is-at-least
|
|
if is-at-least 2.13 "$(git --version 2>/dev/null | awk '{print $3}')"; then
|
|
alias gsta='git stash push'
|
|
else
|
|
alias gsta='git stash save'
|
|
fi
|
|
;;
|
|
*) alias gsta='git stash save' ;;
|
|
esac
|
|
alias gstp='git stash pop'
|
|
alias gstl='git stash list'
|
|
alias gstL='git stash list --stat'
|