修改PS1变量,可以模仿zsh的展示效果。
设置常用的git命令别名
alias gpo="git push origin HEAD:refs/for/\$(git symbolic-ref --short -q HEAD)"
alias gcma="git commit --amend"
alias gcmm="git commit -m"
alias gaa="git add ."
git_branch=''
git_branch_prefix=''
function find_git_branch {
local dir=. head
until [ "$dir" -ef / ]; do
if [ -f "$dir/.git/HEAD" ]; then
head=$(< "$dir/.git/HEAD")
if [[ $head == ref:\ refs/heads/* ]]; then
git_branch_prefix="git:"
git_branch="(${head#*/*/})"
elif [[ $head != '' ]]; then
git_branch='(detached)'
else
git_branch='(unknown)'
fi
export git_branch
return
fi
dir="../$dir"
done
git_branch_prefix=''
git_branch=''
}
PROMPT_COMMAND="find_git_branch; $PROMPT_COMMAND"
green=$'\[\e[1;32m\]'
na=$'\[\e[1;31m\]'
blue=$'\[\e[1;34m\]'
magenta=$'\[\e[1;35m\]'
normal_colours=$'\[\e[0m\]'
PS1="$na➜ $green\W $blue\$git_branch_prefix$magenta\$git_branch$normal_colours\$ "