1 背景
在命令行操作,每次想查看当前分支都要手动执行命令(git branch)太麻烦了,想着在命令提示符上面显示当前分支,很直观也很方便
2 实现
编辑 vim ~/.bashrc 文件,添加如下内容
function get_current_head(){
if current_head=$(git symbolic-ref --short HEAD 2>/dev/null); then
echo "($current_head)"
return 0
else
if current_tag=$(git describe --tags --exact-match 2>/dev/null); then
echo "(($current_tag))"
return 0
else
if current_commit=$(git rev-parse --short HEAD 2>/dev/null); then
echo "(($current_commit))"
return 0
fi
fi
fi
return 1
}
function update_prompt() {
GIT_BRANCH_PROMPT=""
if CURRENT_HEAD=$(get_current_head); then
GIT_BRANCH_PROMPT="\033[32m$CURRENT_HEAD\033[0m"
fi
export PS1="[\u@\h \W${GIT_BRANCH_PROMPT}]\$ "
}
PROMPT_COMMAND=update_prompt # PROMPT_COMMAND 是LINUX内置变量,允许在显示提示符之前执行命令
当前shell: source ~/.bashrc