在终端中显示git仓库状态
1 进入你的home目录
cd ~
2 编辑.bashrc文件
vi .bashrc
3 将下面的代码加入到文件的最后处
function git_branch {
branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"
if [ "${branch}" != "" ];then
if [ "${branch}" = "(no branch)" ];then
branch="(`git rev-parse --short HEAD`...)"
fi
echo " ($branch)"
fi
}
export PS1='\u@\h \[\033[01;36m\]\W\[\033[01;32m\]$(git_branch)\[\033[00m\] \$ '
另外一种方法
#Git branch status
function git_status {
local unknown untracked stash clean ahead behind staged dirty diverged
unknown='0;34' # blue
untracked='0;32' # green
stash='0;32' # green
clean='0;32' # green
ahead='0;33' # yellow
behind='0;33' # yellow
staged='0;96' # cyan
dirty='0;31' # red
diverged='0;31' # red
if [[ $TERM = *256color ]]; then
unknown='38;5;20' # dark blue
untracked='38;5;76' # mid lime-green
stash='38;5;76' # mid lime-green
clean='38;5;82' # brighter green
ahead='38;5;226' # bright yellow
behind='38;5;142' # darker yellow-orange
staged='38;5;214' # orangey yellow
dirty='38;5;202' # orange
diverged='38;5;196' # red
fi
branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
if [[ -n "$branch" ]]; then
if [[ "$branch" == 'HEAD' ]]; then
branch=$(git rev-parse --short HEAD 2>/dev/null)
fi
git_status=$(git status 2> /dev/null)
# If nothing changes the color, we can spot unhandled cases.
color=$unknown
if [[ $git_status =~ 'Untracked files' ]]; then
color=$untracked
branch="${branch}+"
fi
if git stash show &>/dev/null; then
color=$stash
branch="${branch}*"
fi
if [[ $git_status =~ 'working directory clean' ]]; then
color=$clean
fi
if [[ $git_status =~ 'Your branch is ahead' ]]; then
color=$ahead
branch="${branch}"
fi
if [[ $git_status =~ 'Your branch is behind' ]]; then
color=$behind
branch="${branch}"
fi
if [[ $git_status =~ 'Changes to be committed' ]]; then
color=$staged
fi
if [[ $git_status =~ 'Changed but not updated' ||
$git_status =~ 'Changes not staged' ||
$git_status =~ 'Unmerged paths' ]]; then
color=$dirty
fi
if [[ $git_status =~ 'Your branch'.+diverged ]]; then
color=$diverged
branch="${branch}!"
fi
printf "\033[%sm%s\033[0m" "$color" "($branch)"
fi
return 0
}
#bles colorin the terminal bash shell export
export CLICOLOR=1
#sets up thecolor scheme for list export
export LSCOLORS=gxfxcxdxbxegedabagacad
#sets up theprompt color (currently a green similar to linux terminal)
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[01;31m\]$(git_status)\[\033[0m\]\$ '
#enables colorfor iTerm
export TERM=xterm-256color
4 保存退出
将.vimrc文件设置
#代码高亮开启
syntax on
#文件内容行号
set nu
5 执行加载命令
source ./.bashrc
6 完成
Mac 下面启动的 shell 是 login shell,所以加载的配置文件是.bash_profile,不会加载.bashrc。如果你是 Mac 用户的话,需要再执行下面的命令,这样每次开机后才会自动生效:
echo "[ -r ~/.bashrc ] && source ~/.bashrc" >> .bash_profile