【问题标题】:How to show my git branch in my command prompt on windows?如何在 Windows 上的命令提示符中显示我的 git 分支?
【发布时间】:2018-04-07 18:28:06
【问题描述】:

我已将我的 windows 机器设置为类似 unix。

我已经安装了包含 git-bash 的 gitforwindows

我试图在命令提示符中显示我当前的 git 分支,但它不起作用。

我在 .bashrc 中有 PS1=$TIME$USER$HOST$LOCATION$BRANCH

TIME, USER, HOST, LOCATION 工作正常,和 ubuntu 和 osx 一样

但是分支没有显示,我得到:

bash: command substitution: line 1: syntax error near unexpected token `)'
bash: command substitution: line 1: `git branch)'

分支是:

BRANCH=' \[\033[00:33m\]$(git_branch) \[\033[00\]\n\$ '

和 git_branch 函数 - 单独使用时可以正常工作的定义为:

git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/' }

我尝试过的每种格式都失败了:(

PS1 的其余部分如下所示:

在 UNIX 上,在 git repo 中我可以看到这样的分支:

【问题讨论】:

  • 这不是更适合超级用户吗?
  • 我不太明白你想要达到什么目的......你可以通过将.../whatever-git-instal/bin/ 添加到你的路径来使用所有的 git 命令。然后只需使用普通的 git 别名(其中更便携)来产生命令输出......这不是一个明确的问题 - 你使用什么工具(除了 git)?

标签: git


【解决方案1】:

git-prompt.sh,Git 的 bash 补全脚本之一,提供了一个函数 __git_ps1,其目的是显示当前分支。它比对git branch 的简单调用要强大得多。 Git bash 应该开箱即用。

您应该能够通过将PS1 配置为调用__git_ps1 来启用它,例如

PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '

这将包括用户 (\u)、主机 (\h) 和工作目录 (\W) 以及分支,因此您可以替换任何 $USER$HOST , 和 $LOCATION 是。我不确定您的 $TIME 做了什么,但我相信您可以自己弄清楚如何将其添加到提示中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-09
    • 2010-11-20
    • 2013-03-30
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    相关资源
    最近更新 更多