138 lines
4.4 KiB
Bash
138 lines
4.4 KiB
Bash
cite 'about-alias'
|
|
about-alias 'common git abbreviations'
|
|
|
|
# Aliases
|
|
alias gcl='git clone'
|
|
alias ga='git add'
|
|
alias grm='git rm'
|
|
alias gap='git add -p'
|
|
alias gall='git add -A'
|
|
alias gf='git fetch --all --prune'
|
|
alias gft='git fetch --all --prune --tags'
|
|
alias gfv='git fetch --all --prune --verbose'
|
|
alias gftv='git fetch --all --prune --tags --verbose'
|
|
alias gus='git reset HEAD'
|
|
alias gpristine='git reset --hard && git clean -dfx'
|
|
alias gclean='git clean -fd'
|
|
alias gm="git merge"
|
|
alias gmv='git mv'
|
|
alias g='git'
|
|
alias get='git'
|
|
alias gs='git status'
|
|
alias gss='git status -s'
|
|
alias gsu='git submodule update --init --recursive'
|
|
alias gl='git pull'
|
|
alias gpl='git pull'
|
|
alias glum='git pull upstream master'
|
|
alias gpr='git pull --rebase'
|
|
alias gpp='git pull && git push'
|
|
alias gup='git fetch && git rebase'
|
|
alias gp='git push'
|
|
alias gpd='git push --delete'
|
|
alias gpo='git push origin HEAD'
|
|
alias gpu='git push --set-upstream'
|
|
alias gpuo='git push --set-upstream origin'
|
|
alias gpuoc='git push --set-upstream origin $(git symbolic-ref --short HEAD)'
|
|
alias gpom='git push origin master'
|
|
alias gr='git remote'
|
|
alias grv='git remote -v'
|
|
alias gra='git remote add'
|
|
alias grb='git rebase'
|
|
alias grm='git rebase master'
|
|
alias grmi='git rebase master -i'
|
|
alias gd='git diff'
|
|
alias gds='git diff --staged'
|
|
alias gdt='git difftool'
|
|
alias gdv='git diff -w "$@" | vim -R -'
|
|
alias gc='git commit -v'
|
|
alias gca='git commit -v -a'
|
|
alias gcm='git commit -v -m'
|
|
alias gcam="git commit -v -am"
|
|
alias gci='git commit --interactive'
|
|
alias gcamd='git commit --amend'
|
|
alias gb='git branch'
|
|
alias gba='git branch -a'
|
|
# FROM https://stackoverflow.com/a/58623139/10362396
|
|
alias gbc='git for-each-ref --format="%(authorname) %09 %(if)%(HEAD)%(then)*%(else)%(refname:short)%(end) %09 %(creatordate)" refs/remotes/ --sort=authorname DESC'
|
|
alias gbt='git branch --track'
|
|
alias gbm='git branch -m'
|
|
alias gbd='git branch -d'
|
|
alias gbD='git branch -D'
|
|
alias gcount='git shortlog -sn'
|
|
alias gcp='git cherry-pick'
|
|
alias gcpx='git cherry-pick -x'
|
|
alias gco='git checkout'
|
|
alias gcom='git checkout master'
|
|
alias gcb='git checkout -b'
|
|
alias gcob='git checkout -b'
|
|
alias gcobu='git checkout -b ${USER}/'
|
|
alias gct='git checkout --track'
|
|
alias gcpd='git checkout master; git pull; git branch -D'
|
|
alias gexport='git archive --format zip --output'
|
|
alias gdel='git branch -D'
|
|
alias gmu='git fetch origin -v; git fetch upstream -v; git merge upstream/master'
|
|
alias gll='git log --graph --pretty=oneline --abbrev-commit'
|
|
alias gg="git log --graph --pretty=format:'%C(bold)%h%Creset%C(magenta)%d%Creset %s %C(yellow)<%an> %C(cyan)(%cr)%Creset' --abbrev-commit --date=relative"
|
|
alias ggf="git log --graph --date=short --pretty=format:'%C(auto)%h %Cgreen%an%Creset %Cblue%cd%Creset %C(auto)%d %s'"
|
|
alias ggs="gg --stat"
|
|
alias gsh="git show"
|
|
alias gsl="git shortlog -sn"
|
|
alias gwc="git whatchanged"
|
|
alias gt="git tag"
|
|
alias gta="git tag -a"
|
|
alias gtd="git tag -d"
|
|
alias gtl="git tag -l"
|
|
alias gpatch="git format-patch -1"
|
|
# From http://blogs.atlassian.com/2014/10/advanced-git-aliases/
|
|
# Show commits since last pull
|
|
alias gnew="git log HEAD@{1}..HEAD@{0}"
|
|
# Add uncommitted and unstaged changes to the last commit
|
|
alias gcaa="git commit -a --amend -C HEAD"
|
|
# Rebase with latest remote master
|
|
alias gprom="git fetch origin master && git rebase origin/master && git update-ref refs/heads/master origin/master"
|
|
alias gpf="git push --force"
|
|
alias gpunch="git push --force-with-lease"
|
|
alias ggui="git gui"
|
|
alias gcsam="git commit -S -am"
|
|
# Stash aliases
|
|
alias gst="git stash"
|
|
alias gstb="git stash branch"
|
|
alias gstd="git stash drop"
|
|
alias gstl="git stash list"
|
|
# Push introduced in git v2.13.2
|
|
alias gstpu="git stash push"
|
|
alias gstpum="git stash push -m"
|
|
# Save deprecated since git v2.16.0
|
|
# - aliases now resolve to push
|
|
alias gsts="git stash push"
|
|
alias gstsm="git stash push -m"
|
|
# Alias gstpo added for symmetry with gstpu (push)
|
|
# - gstp remains as alias for pop due to long-standing usage
|
|
alias gstpo="git stash pop"
|
|
alias gstp="git stash pop"
|
|
# Switch aliases - Requires git v2.23+
|
|
alias gsw="git switch"
|
|
alias gswm="git switch master"
|
|
alias gswc="git switch --create"
|
|
alias gswt="git switch --track"
|
|
# Git home
|
|
alias ghm='cd "$(git rev-parse --show-toplevel)"'
|
|
if ! _command_exists gh; then
|
|
alias gh='ghm'
|
|
fi
|
|
# Show untracked files
|
|
alias gu='git ls-files . --exclude-standard --others'
|
|
|
|
# Git SVN
|
|
alias gsr='git svn rebase'
|
|
alias gsd='git svn dcommit'
|
|
|
|
case $OSTYPE in
|
|
darwin*)
|
|
alias gtls="git tag -l | gsort -V"
|
|
;;
|
|
*)
|
|
alias gtls='git tag -l | sort -V'
|
|
;;
|
|
esac
|