@@ -0,0 +1,184 @@
# To ~/.bashrc file add line:
# source ~/.git-plugin-bash.sh
# Based on Oh My Zsh Git plugin (without zsh functions):
# https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/git/git.plugin.zsh
# https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git
#! /bin/bash
#
# Aliases
# (sorted alphabetically)
#
alias g=' git'
alias ga=' git add'
alias gaa=' git add --all'
alias gapa=' git add --patch'
alias gau=' git add --update'
alias gav=' git add --verbose'
alias gap=' git apply'
alias gb=' git branch'
alias gba=' git branch -a'
alias gbd=' git branch -d'
alias gbda=' git branch --no-color --merged | command grep -vE "^(\+|\*|\s*(master|develop|dev)\s*$)" | command xargs -n 1 git branch -d'
alias gbD=' git branch -D'
alias gbl=' git blame -b -w'
alias gbnm=' git branch --no-merged'
alias gbr=' git branch --remote'
alias gbs=' git bisect'
alias gbsb=' git bisect bad'
alias gbsg=' git bisect good'
alias gbsr=' git bisect reset'
alias gbss=' git bisect start'
alias gc=' git commit -v'
alias gc! =' git commit -v --amend'
alias gcn! =' git commit -v --no-edit --amend'
alias gca=' git commit -v -a'
alias gca! =' git commit -v -a --amend'
alias gcan! =' git commit -v -a --no-edit --amend'
alias gcans! =' git commit -v -a -s --no-edit --amend'
alias gcam=' git commit -a -m'
alias gcsm=' git commit -s -m'
alias gcb=' git checkout -b'
alias gcf=' git config --list'
alias gcl=' git clone --recurse-submodules'
alias gclean=' git clean -id'
alias gpristine=' git reset --hard && git clean -dfx'
alias gcm=' git checkout master'
alias gcd=' git checkout develop'
alias gcmsg=' git commit -m'
alias gco=' git checkout'
alias gcount=' git shortlog -sn'
alias gcp=' git cherry-pick'
alias gcpa=' git cherry-pick --abort'
alias gcpc=' git cherry-pick --continue'
alias gcs=' git commit -S'
alias gd=' git diff'
alias gdca=' git diff --cached'
alias gdcw=' git diff --cached --word-diff'
alias gdct=' git describe --tags $(git rev-list --tags --max-count=1)'
alias gds=' git diff --staged'
alias gdt=' git diff-tree --no-commit-id --name-only -r'
alias gdw=' git diff --word-diff'
alias gf=' git fetch'
alias gfa=' git fetch --all --prune'
alias gfo=' git fetch origin'
alias gfg=' git ls-files | grep'
alias gg=' git gui citool'
alias gga=' git gui citool --amend'
alias ggpur=' ggu'
alias ggpull=' git pull origin "$(git_current_branch)"'
alias ggpush=' git push origin "$(git_current_branch)"'
alias ggsup=' git branch --set-upstream-to=origin/$(git_current_branch)'
alias gpsup=' git push --set-upstream origin $(git_current_branch)'
alias ghh=' git help'
alias gignore=' git update-index --assume-unchanged'
alias gignored=' git ls-files -v | grep "^[[:lower:]]"'
alias git-svn-dcommit-push=' git svn dcommit && git push github master:svntrunk'
alias gk=' \gitk --all --branches'
alias gke=' \gitk --all $(git log -g --pretty=%h)'
alias gl=' git pull'
alias glg=' git log --stat'
alias glgp=' git log --stat -p'
alias glgg=' git log --graph'
alias glgga=' git log --graph --decorate --all'
alias glgm=' git log --graph --max-count=10'
alias glo=' git log --oneline --decorate'
alias glol=" git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'"
alias glols=" git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --stat"
alias glod=" git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'"
alias glods=" git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short"
alias glola=" git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all"
alias glog=' git log --oneline --decorate --graph'
alias gloga=' git log --oneline --decorate --graph --all'
alias glp=" _git_log_prettily"
alias gm=' git merge'
alias gmom=' git merge origin/master'
alias gmt=' git mergetool --no-prompt'
alias gmtvim=' git mergetool --no-prompt --tool=vimdiff'
alias gmum=' git merge upstream/master'
alias gma=' git merge --abort'
alias gp=' git push'
alias gpd=' git push --dry-run'
alias gpf=' git push --force-with-lease'
alias gpf! =' git push --force'
alias gpoat=' git push origin --all && git push origin --tags'
alias gpu=' git push upstream'
alias gpv=' git push -v'
alias gr=' git remote'
alias gra=' git remote add'
alias grb=' git rebase'
alias grba=' git rebase --abort'
alias grbc=' git rebase --continue'
alias grbd=' git rebase develop'
alias grbi=' git rebase -i'
alias grbm=' git rebase master'
alias grbs=' git rebase --skip'
alias grev=' git revert'
alias grh=' git reset'
alias grhh=' git reset --hard'
alias groh=' git reset origin/$(git_current_branch) --hard'
alias grm=' git rm'
alias grmc=' git rm --cached'
alias grmv=' git remote rename'
alias grrm=' git remote remove'
alias grs=' git restore'
alias grset=' git remote set-url'
alias grss=' git restore --source'
alias grt=' cd "$(git rev-parse --show-toplevel || echo .)"'
alias gru=' git reset --'
alias grup=' git remote update'
alias grv=' git remote -v'
alias gsb=' git status -sb'
alias gsd=' git svn dcommit'
alias gsh=' git show'
alias gsi=' git submodule init'
alias gsps=' git show --pretty=short --show-signature'
alias gsr=' git svn rebase'
alias gss=' git status -s'
alias gst=' git status'
alias gstaa=' git stash apply'
alias gstc=' git stash clear'
alias gstd=' git stash drop'
alias gstl=' git stash list'
alias gstp=' git stash pop'
alias gsts=' git stash show --text'
alias gstall=' git stash --all'
alias gsu=' git submodule update'
alias gsw=' git switch'
alias gswc=' git switch -c'
alias gts=' git tag -s'
alias gtv=' git tag | sort -V'
alias gtl=' gtl(){ git tag --sort=-v:refname -n -l "${1}*" }; noglob gtl'
alias gunignore=' git update-index --no-assume-unchanged'
alias gunwip=' git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1'
alias gup=' git pull --rebase'
alias gupv=' git pull --rebase -v'
alias gupa=' git pull --rebase --autostash'
alias gupav=' git pull --rebase --autostash -v'
alias glum=' git pull upstream master'
alias gwch=' git whatchanged -p --abbrev-commit --pretty=medium'
alias gwip=' git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign -m "--wip-- [skip ci]"'