各平台设置 Git Prompt

Windows Powershell

只需从 (https://github.com/dahlbyk/posh-git) 下载一份 Posh-Git 的发行版并解压即可。 接着使用 posh-git.psd1 文件的完整路径导入此模块:

> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts

它将会向你的 profile.ps1 文件添加适当的内容,Posh-Git 将会在下次打开 PowerShell 时启用。

Ubuntu

具体修改 ~/.bashrc 文件即可

# git prompt
# PS1="\[\e[1;33m\]\[\e[0;33m\][\[\e[1;32m\]\u\[\e[m\]\[\e[1;33m\]@\[\e[m\]\[\e[1;35m\]\h\[\e[m\]\[\e[0;33m\]] \w\$ \[\e[m\]"
. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\[\e[0;33m\][\[\e[m\]\[\e[1;32m\]\u\[\e[m\]\[\e[1;33m\]@\[\e[m\]\[\e[1;35m\]\h\[\e[m\]\[\e[0;33m\]]\[\e[m\] \[\e[0;33m\]\w\[\e[m\]\[\033[36m\]$(__git_ps1 " (%s)")\[\e[m\]\n\$ '

下面是 ChatGPT 对上面这段代码的解释:

这段代码是用于配置命令行提示符的样式和内容。在这里,export PS1 是一个设置命令行提示符的环境变量。

让我解释一下这个含义:

  • \[\e[1;33m\]\[\e[m\]:这些是 ANSI 转义码,用于设置命令行提示符的颜色和样式。每个 [\e[...] 到 [\e[m] 之间的部分都表示不同的颜色或样式设置。
  • [\u@\h]:这会在命令行提示符中显示当前用户 (\u) 和主机名 (\h)。
  • \w:这表示当前工作目录的路径。
  • \[\033[36m\]\[\e[m\]:这又是用于设置特定颜色的 ANSI 转义码,用来显示 Git 信息。
  • $(__git_ps1 " (%s)"):这部分会调用 __git_ps1 函数来获取 Git 信息,并将其放置在命令行提示符中。(%s) 会被替换为 Git 的分支名或状态信息。
  • \n\$:这部分是一个换行符 (\n) 和命令行提示符结束符 ($ 表示普通用户,# 表示超级用户)。
    综合起来,这段代码设置了一个具有特定颜色和样式的命令行提示符,包括用户名、主机名、当前工作目录的路径,以及(如果在 Git 仓库中)显示 Git 的分支名或状态信息。

MSYS2

具体也是修改 ~/.bashrc 文件即可

# git prompt
. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[36m\]`__git_ps1`\[\e[0m\]\[\e[0m\]\n\$ '

参考文档

posted @   一剑九州寒  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示