让ubuntu的命令行终端显示git的分支名
在 Ubuntu 中显示 Git 分支,可以通过以下命令来查看当前仓库所在的分支:
- 显示当前分支:
git branch
这个命令会列出所有本地分支,当前分支会有一个 *
标记。
2. 显示所有远程和本地分支:
git branch -a
这个命令会列出所有本地和远程的分支。
- 显示当前分支的详细信息:
git status
这个命令会显示当前分支的状态,包括未提交的更改,以及当前分支的名字。
提示:
如果你想在命令行提示符中动态显示当前 Git 分支,你可以修改你的终端提示符。比如,编辑 .bashrc
或 .zshrc
文件,添加 Git 分支信息:
对于 Bash:
在 ~/.bashrc
文件中添加如下内容:
# Git branch in prompt with colors
parse_git_branch() {
branch=$(git branch 2>/dev/null | grep -e '^*' | sed 's/^* //')
# 如果当前目录不是 Git 仓库,branch 可能为空
if [[ -z "$branch" ]]; then
# 如果没有分支,什么也不显示
echo -n ""
else
# 设置颜色,根据分支名选择不同的颜色
if [[ "$branch" == dev-* ]]; then
# dev- 开头的分支使用蓝色
echo -e "\033[0;34m[$branch]\033[0m"
elif [[ "$branch" == "master" ]]; then
# master 分支使用绿色
echo -e "\033[0;32m[$branch]\033[0m"
else
# 其他分支使用黄色
echo -e "\033[0;33m[$branch]\033[0m"
fi
fi
}
# 设置颜色(不需要额外的 \[ 和 \])
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
RESET='\033[0m'
# 修改 PS1 显示格式,包括 Git 分支颜色
export PS1="${GREEN}\u@\h${RESET} ${YELLOW}\w${RESET} \$(parse_git_branch) \$ "
解释:
if [[ -z "$branch" ]]
:这个条件检查branch
是否为空,如果是空的,则不会输出任何内容。echo -n ""
:当branch
为空时,parse_git_branch
会输出一个空字符串,避免显示[]
。- 其他逻辑:当
branch
不为空时,按照之前的逻辑,继续显示[]
和对应颜色。
结果:
- 如果当前目录在 Git 仓库中并且有一个有效的分支,它将显示类似
[dev-aries]
或[master]
的颜色。 - 如果当前目录不是 Git 仓库或没有分支,什么都不会显示,不会出现空的
[]
。
保存文件并重新加载配置:
source ~/.bashrc
验证:
- 在 Git 仓库中运行
git status
,然后你应该看到类似[develop]
或[master]
的输出,取决于你当前的分支。 - 在非 Git 仓库目录中,提示符中将不会显示
[]
,保持干净。