Last active
December 25, 2015 20:49
-
-
Save aispin/7038501 to your computer and use it in GitHub Desktop.
my bash_aliases
This file contains hidden or 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
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
# Personal: ~/.bash_aliases | |
# Levin Wong | |
# | |
# Last modified: 2014.07.07 | |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
# ———————————————– | |
# General | |
# ———————————————– | |
alias cls='clear' # Clear the screen | |
alias df='df -Th' # Disk free space | |
alias du='du -' # Disk usage | |
alias h='histor' # Bash history | |
alias j='jobs -l' # Current running jobs | |
# ———————————————– | |
# ls | |
# ————---———-- | |
alias lx='ls -lXB' # Sort by extension | |
alias lk='ls -lSr' # Sort by size (small to big) | |
alias lc='ls -ltcr' # Sort by change time (old to new) | |
alias lu='ls -ltur' # Sort by change time (new to old) | |
alias lt='ls -ltr' # Sort by date (old to new) | |
# ———————————————– | |
# Hadoop Admin (sudo) | |
# ———————————————– | |
alias shcat='sudo -u hdfs hadoop fs -cat' # Output a file to standard out | |
alias shchown='sudo -u hdfs hadoop fs -chown' # Change ownership | |
alias shchmod='sudo -u hdfs hadoop fs -chmod' # Change permissions | |
alias shls='sudo -u hdfs hadoop fs -ls' # List files | |
alias shmkdir='sudo -u hdfs hadoop fs -mkdir' # Make a directory | |
# ———————————————– | |
# Hadoop (regular user) | |
# ———————————————– | |
alias hcat='hadoop fs -cat' # Output a file to standard out | |
alias hchown='hadoop fs -chown' # Change ownership | |
alias hchmod='hadoop fs -chmod' # Change permissions | |
alias hls='hadoop fs -ls' # List files | |
alias hmkdir='hadoop fs -mkdir' # Make a directory | |
# ---------------- | |
# Git Commands | |
# ---------------- | |
# Aliases | |
alias g='git' | |
alias gst='git status' | |
alias gd='git diff' | |
alias gdc='git diff --cached' | |
alias gl='git pull' | |
alias gup='git pull --rebase' | |
alias gp='git push' | |
alias gd='git diff' | |
gdv() { git diff -w "$@" | view - } | |
alias gc='git commit -v' | |
alias gc!='git commit -v --amend' | |
alias gca='git commit -v -a' | |
alias gca!='git commit -v -a --amend' | |
alias gcmsg='git commit -m' | |
alias gco='git checkout' | |
alias gcm='git checkout master' | |
alias gr='git remote' | |
alias grv='git remote -v' | |
alias grmv='git remote rename' | |
alias grrm='git remote remove' | |
alias grset='git remote set-url' | |
alias grup='git remote update' | |
alias grbi='git rebase -i' | |
alias grbc='git rebase --continue' | |
alias grba='git rebase --abort' | |
alias gb='git branch' | |
alias gba='git branch -a' | |
alias gcount='git shortlog -sn' | |
alias gcl='git config --list' | |
alias gcp='git cherry-pick' | |
alias glg='git log --stat --max-count=10' | |
alias glgg='git log --graph --max-count=10' | |
alias glgga='git log --graph --decorate --all' | |
alias glo='git log --oneline --decorate --color' | |
alias glog='git log --oneline --decorate --color --graph' | |
alias gss='git status -s' | |
alias ga='git add' | |
alias gm='git merge' | |
alias grh='git reset HEAD' | |
alias grhh='git reset HEAD --hard' | |
alias gclean='git reset --hard && git clean -dfx' | |
alias gwc='git whatchanged -p --abbrev-commit --pretty=medium' | |
#remove the gf alias | |
#alias gf='git ls-files | grep' | |
alias gpoat='git push origin --all && git push origin --tags' | |
alias gmt='git mergetool --no-prompt' | |
alias gg='git gui citool' | |
alias gga='git gui citool --amend' | |
alias gk='gitk --all --branches' | |
alias gsts='git stash show --text' | |
alias gsta='git stash' | |
alias gstp='git stash pop' | |
alias gstd='git stash drop' | |
# Will cd into the top of the current repository | |
# or submodule. | |
alias grt='cd $(git rev-parse --show-toplevel || echo ".")' | |
# Git and svn mix | |
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' | |
alias gsr='git svn rebase' | |
alias gsd='git svn dcommit' | |
# | |
# Will return the current branch name | |
# Usage example: git pull origin $(current_branch) | |
# | |
function current_branch() { | |
ref=$(git symbolic-ref HEAD 2> /dev/null) || \ | |
ref=$(git rev-parse --short HEAD 2> /dev/null) || return | |
echo ${ref#refs/heads/} | |
} | |
function current_repository() { | |
ref=$(git symbolic-ref HEAD 2> /dev/null) || \ | |
ref=$(git rev-parse --short HEAD 2> /dev/null) || return | |
echo $(git remote -v | cut -d':' -f 2) | |
} | |
# these aliases take advantage of the previous function | |
alias ggpull='git pull origin $(current_branch)' | |
alias ggpur='git pull --rebase origin $(current_branch)' | |
alias ggpush='git push origin $(current_branch)' | |
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' | |
# Pretty log messages | |
function _git_log_prettily(){ | |
if ! [ -z $1 ]; then | |
git log --pretty=$1 | |
fi | |
} | |
alias glp="_git_log_prettily" | |
# Work In Progress (wip) | |
# These features allow to pause a branch development and switch to another one (wip) | |
# When you want to go back to work, just unwip it | |
# | |
# This function return a warning if the current branch is a wip | |
function work_in_progress() { | |
if $(git log -n 1 2>/dev/null | grep -q -c "\-\-wip\-\-"); then | |
echo "WIP!!" | |
fi | |
} | |
# these alias commit and uncomit wip branches | |
alias gwip='git add -A; git ls-files --deleted -z | xargs -r0 git rm; git commit -m "--wip--"' | |
alias gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1' | |
# these alias ignore changes to file | |
alias gignore='git update-index --assume-unchanged' | |
alias gunignore='git update-index --no-assume-unchanged' | |
# list temporarily ignored files | |
alias gignored='git ls-files -v | grep "^[[:lower:]]"' | |
# ---------------- | |
# Local workspace shortcuts | |
# ---------------- | |
alias github='cd e:/camp/documents/github' | |
alias np='notepad++' | |
alias chrome='start chrome' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment