refactor(aliases): sort git aliases file and lint it

- move all comments to the same line so they wont be jumbled
- also add to clean_files.txt
pull/1743/head
Ron Green 2020-12-16 16:56:59 +02:00 committed by Noah Gorny
parent c268cd9abc
commit 436381de93
2 changed files with 174 additions and 125 deletions

View File

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

View File

@ -46,5 +46,7 @@ completion/available/vault.completion.bash
completion/available/sdkman.completion.bash completion/available/sdkman.completion.bash
# aliases # aliases
#
aliases/available/dnf.aliases.bash aliases/available/dnf.aliases.bash
aliases/available/vim.aliases.bash aliases/available/vim.aliases.bash
aliases/available/git.aliases.bash