注意:图中命令行提示符中的->是为了隐藏较长的用户名和主机名,可以通过~/.bashrc自定义提示符的显示格式。git br和git st是通过~/.gitconfig设置的git别名,git br相当于是git branch。
[alias] st = status co = checkout br = branch ci = commit
以Ubuntu系统为例,修改~/.bashrc,在PS1变量之前增加如下代码
function git-branch-name { git symbolic-ref --short HEAD 2>/dev/null } function git-branch-prompt { local branch=`git-branch-name` if [ $branch ]; then printf " <%s> " $branch; fi }
注:代码详细解释见:https://www.jianshu.com/p/82783f76a868
PS1
是 Shell 中的一个特殊变量, 用来表示命令行"提示符", 该变量的可选参数包括:
d
: 显示日期, 格式为"星期 月 日"h
: 显示简写主机名。如默认主机名 "localhost"T
: 显示 12 小时制时间, 格式为 "HH:MM:SS"A
: 显示 24 小时制时间, 格式为 "HH:MM"u
: 显示当前用户名w
: 显示当前所在目录的完整名称W
: 显示当前所在目录的最后一个目录#
: 执行的第几个命令$
: 提示符, 如果是 root 用户会显示提示符为 "#", 如果是普通用户会显示提示符为$
为了方便,将原来的u@h修改为->,隐藏用户名和主机名。根据个人喜好,可以不做修改,保持默认。
if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}[ 33[01;32m]->[ 33[00m]:[ 33[01;34m]w[ 33[00m]e[32m$(git-branch-prompt)e[0m$ ' else PS1='${debian_chroot:+($debian_chroot)}->:w$ ' fi