You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows下为Git分支按状态动态修改颜色

实现Windows下Git分支状态动态变色(全局生效)

方法:自定义Git提示符脚本(适配Git Bash)

Windows下的Git Bash支持通过自定义脚本判断工作区状态,动态切换分支名称颜色,步骤如下:

  1. 创建全局提示符脚本
    在你的用户目录(C:\Users\<你的用户名>)下新建一个名为.bashrc的文件(文件名开头有个点),如果已经存在则直接编辑。

  2. 添加动态分支颜色逻辑
    将以下内容复制到.bashrc中:

# 定义颜色变量
RED="\[\033[0;31m\]"
YELLOW="\[\033[0;33m\]"
GREEN="\[\033[0;32m\]"
RESET="\[\033[0m\]"

# 自定义Git分支状态判断函数
function git_branch_color() {
    local branch=$(git symbolic-ref --short HEAD 2>/dev/null)
    if [ -z "$branch" ]; then
        return
    fi
    # 判断是否有未追踪文件
    if [ -n "$(git status --porcelain | grep '^??')" ]; then
        echo -e "${RED}$branch${RESET}"
        return
    fi
    # 判断是否有已暂存未提交的文件
    if [ -n "$(git status --porcelain | grep '^[AM]')" ]; then
        echo -e "${YELLOW}$branch${RESET}"
        return
    fi
    # 无变更,显示绿色
    echo -e "${GREEN}$branch${RESET}"
}

# 修改提示符,加入动态颜色的分支名称
PS1="\u@\h:\w \$(git_branch_color)\$ "
  1. 生效配置
    关闭当前Git Bash窗口后重新打开,或者在当前窗口执行source ~/.bashrc让配置立即生效。

验证效果

  • 工作区存在未追踪文件时,分支名称显示红色
  • 存在已暂存但未提交的文件时,分支名称显示黄色
  • 工作区干净(所有文件已提交)时,分支名称显示绿色

补充说明

  • 如果Git Bash默认不加载.bashrc,可检查用户目录下是否有.bash_profile文件:若有则添加source ~/.bashrc;若无则新建.bash_profile并添加该行。
  • 上述脚本仅适配Git Bash,若使用Windows Terminal、PowerShell等其他终端,需参考对应终端的Git提示符自定义规则调整。

内容的提问来源于stack exchange,提问作者Crossbow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 13:55:13