在Windows上更改Git提示

kko*_*kko 26 windows git bash command-prompt msysgit

我在Windows上使用Git,通过GitExtensions安装,MSysGit(最新)在安装过程中选择了"不要修改我的Windows提示符".

现在,我希望能够修改默认提示符(默认情况下,它只显示分支名称,以显示自上次推送以来有多少时间,以及有多少本地提交origin(或者具体地说origin/master,哪个更容易).

所以说而不是: me@myPC /c/myRepo (master)

我会看到以下内容: me@myPC /c/myRepo (master) 5 | 10:20

这意味着我最后一次推迟了10分钟20分钟,之后我做了5次本地提交.

在你提到它之前,我知道有一些方法可以用PowerShell做,但我不想使用它.我希望我的标准git bash我们都知道和喜欢.

我找到了一些解决方案,PS1.bashrc文件中修改变量,但(原谅我糟糕的Unix知识)他们似乎没有工作,(例如,这个问题的接受答案).

所以你有它.这可能吗?

pat*_*yts 12

默认的git-completion脚本支持您所需的部分内容.如果在/ etc/profile文件中设置GIT_PS1_SHOWUPSTREAM ="verbose git",则它会将上游分支前面的提交数添加到提示中.您可能需要设置如下提示,以(%s)在git特定部分中包含:

export PS1='\[\033]0;$MSYSTEM:\w\007
\033[32m\]\u@\h \[\033[33m\w$(__git_ps1 " (%s)")\033[0m\]
\$ '
Run Code Online (Sandbox Code Playgroud)

对于时间部分 - 这对我来说是新的.但是git-bash应该处理你可能找到的任何unix版本.只需编辑/ etc/profile作为管理员(实际上%PROGRAMFILES%\Git\etc\profile或创建一个包含以下内容的〜/ .profile文件:

GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWUPSTREAM='verbose git'
export GIT_PS1_SHOWDIRTYSTATE GIT_PS1_SHOWUPSTREAM
Run Code Online (Sandbox Code Playgroud)

设置这些环境变量后,如果您的脏树在原点之前有1个提交,则默认的msysGit提示符如下所示:

pat@FROG /c/src/msysgit (devel * u+1)
$ git status --short --branch
## devel...origin/devel [ahead 1]
 M doc/git/html
 M etc/inputrc
Run Code Online (Sandbox Code Playgroud)


auf*_*ula 6

步骤1.将这两个文件复制到您的主文件夹,您可以在%PROGRAMFILES%\ Git\etc \下找到它们;

git-completion.bash
git-prompt.sh
Run Code Online (Sandbox Code Playgroud)

步骤2.在您的bash配置文件中配置您的PS1 .bashrc,例如:

. git-completion.bash
. git-prompt.sh
GIT_PS1_SHOWDIRTYSTATE=true
PS1='\w\[\033[01;32m\]$(__git_ps1)\[\033[00m\]\$ '
Run Code Online (Sandbox Code Playgroud)