Last active
December 27, 2019 19:11
-
-
Save jda0/c1bf7d5b497b0adb7e05d8a08d51af02 to your computer and use it in GitHub Desktop.
bash_aliases
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
shopt -s expand_aliases | |
eval "$(hub alias -s)" | |
## Work Aliases | |
alias sow='. ~/.bash_aliases_roam'; | |
## Command Aliases | |
alias sudo='sudo '; | |
alias fuck='sudo $(history -p !!)'; | |
alias pip='pip3'; | |
alias c='code'; | |
alias d='docker'; | |
alias d8='docker-compose'; | |
alias f='fuck'; | |
alias y='pbcopy' | |
alias p='pbpaste' | |
x () { | |
if [ -z $1 ]; then | |
open . | |
else | |
open $@ | |
fi | |
} | |
## Git Aliases | |
alias ga='git add'; | |
alias gaa='ga .'; | |
alias gb='git branch'; | |
alias gbv='gb -vv'; | |
alias gc='git commit --all'; | |
alias gca='git commit --amend --date "$(date)"'; | |
alias gcb='gca -C HEAD'; | |
alias gd='git diff'; | |
alias gf='git fetch'; | |
alias gg='git checkout'; | |
alias ggb='gg -b'; | |
alias gh='git stash'; | |
alias gi='git init'; | |
alias gk='git push'; | |
alias gkr='hub pull-request -e --browse -m \"$(git log --oneline --format=%B -n 1 HEAD)$(< ~/.git_pull_request_template.md)\"'; | |
alias gkrt='gkr -a $T_TA -r $T_TR'; | |
alias gkrd='gkr -a $T_DA -r $T_DR'; | |
alias gkrp='gkr -a $T_PA -r $T_PR'; | |
alias gku='gk -u ${1-origin} ${2-HEAD}'; | |
alias gl="git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all" | |
alias gm='git merge'; | |
alias gn="printf \"%6s\\tTOTAL COMMITS\\n%s\\n\\n TOTAL LINES\\n%s\\n\" \"\$(git rev-list --all --count)\" \"\$(git shortlog -s | |
-n --all)\" \"\$(git log --shortstat --pretty=\"%cE\" | sed 's/\\(.*\\)@.*/\\1/' | grep -v \"^\$\" | awk 'BEGIN { line=\"\"; } !/^ / { | |
if (line==\"\" || !match(line, \$0)) {line = \$0 \",\" line }} /^ / { print line \" # \" \$0; line=\"\"}' | sort | sed -E 's/# //;s/ files? changed,//;s/([0-9]+) ([0-9]+ deletion)/\\1 0 insertions\\(+\\), \\2/;s/\\(\\+\\)\$/\\(\\+\\), 0 deletions\\(-\\)/;s/insertions?\\(\\+\\), //;s/ deletions?\\(-\\)//' | awk 'BEGIN {name=\"\"; files=0; insertions=0; deletions=0;} {if (\$1 != name && name != \"\") { print name \": \\t\" files \" files changed, \\t\" insertions \" insertions(+), \\t\" deletions \" deletions(-), \\t\" insertions-deletions \" net\"; files=0; insertions=0; deletions=0; name=\$1; } name=\$1; files+=\$2; insertions+=\$3; deletions+=\$4} END {print name \": \\t\" files \" files changed, \\t\" insertions \" insertions(+), \\t\" deletions \" deletions(-), \\t\" insertions-deletions \" net\";}')\"" | |
alias gpm='git pull'; | |
alias gpr='git pull --rebase'; | |
gq () { | |
if [ $1 = '-l' ]; then | |
local repo=$1 | |
shift 2 | |
git clone "git@gitlab.com:$repo" $@ | |
else | |
local repo=$1 | |
shift | |
git clone "git@github.com:$repo" $@ | |
fi | |
} | |
alias gr='git rebase'; | |
alias gri='git rebase --interactive'; | |
alias gs='git status'; | |
alias gss='git diff --shortstat HEAD HEAD^'; | |
alias gt='git tag'; | |
gu () { | |
if [ $1 = '-l' ]; then | |
git remote add origin git@gitlab.com:$1 | |
elif [ $1 = '-o' ]; then | |
git remote add origin $1 | |
else | |
git remote add origin git@github.com:$1 | |
fi | |
} | |
alias gx='git reset'; | |
## NPM Aliases | |
alias n='npm'; | |
alias nb='npm run build'; | |
alias nd='npm run dev'; | |
alias ni='npm install'; | |
alias nr='npm run'; | |
alias ns='npm start'; | |
alias nt='npm test'; | |
alias nx='npx'; | |
## Makes gifs from other media formats | |
gif () { | |
local resize | |
if [ $1 = '-n' ]; then | |
resize='' | |
shift | |
else | |
resize=",scale=${2-'480'}:-1" | |
fi | |
ffmpeg -i "$1" -f gif -filter_complex "[0:v] fps=10$resize,split [a][b];[a] palettegen [p];[b][p] paletteuse" "$1.gif" | |
} | |
## Creates a EJS index file from all JS files in the working directory | |
idx () { | |
cp /dev/null index.js | |
for f in *.js | |
do [ $f != "index.js" ] && echo "export * from './${f%.js}';" >> index.js | |
done | |
} | |
## Activates a python virtual environment | |
pv () { | |
if [ -z $1 ] ; then source ~/.env/36/bin/activate | |
else source ~/.env/$1/bin/activate | |
fi | |
} | |
## Executes commands ${2,} in directory $1 | |
xi () { | |
local dir=$PWD | |
cd "$1" && shift && eval "$@" | |
cd $dir | |
} | |
alias xs='xi server '; | |
alias xc='xi client '; | |
## Kills tmux | |
alias tk='tmux kill-server'; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment