zsh-显示git分支是否有未推送的提交

zsh-显示git分支是否有未推送的提交,git,ssh,terminal,zsh,Git,Ssh,Terminal,Zsh,事实上,我使用的是一个稍加修改的oh my zsh主题闪烁。它显示了一个SSH语句,只用于与本地终端的光学差异。 如果分支中有未提交的更改,它还会显示分支和小星星 是否有可能表明存在未催促的承诺?也许还需要一个小小的指示器 # https://github.com/blinks zsh theme function _prompt_char() { if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); th

事实上,我使用的是一个稍加修改的oh my zsh主题
闪烁
。它显示了一个SSH语句,只用于与本地终端的光学差异。 如果分支中有未提交的更改,它还会显示分支和小星星

是否有可能表明存在未催促的承诺?也许还需要一个小小的指示器

# https://github.com/blinks zsh theme

function _prompt_char() {
  if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
    echo "%{%F{blue}%}±%{%f%k%b%}"
  else
    echo ' '
  fi
}

case ${SOLARIZED_THEME:-dark} in
    light) bkg=white;;
    *)     bkg=black;;
esac

ZSH_THEME_GIT_PROMPT_PREFIX=" [%{%B%F{blue}%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{%f%k%b%K{${bkg}}%B%F{green}%}]"
ZSH_THEME_GIT_PROMPT_DIRTY=" %{%F{red}%}*%{%f%k%b%}"
ZSH_THEME_GIT_PROMPT_CLEAN=""

PROMPT='%{%f%k%b%}

%{%K{black}%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%B%F{red}%}!!SSH!! %{%b%F{yellow}%K{black}%}%~%{%B%F{green}%}$(git_prompt_info)%E%{%f%k%b%}
%{%K{black}%}$(_prompt_char)%{%K{black}%} %#%{%f%k%b%} '

RPROMPT='!%{%B%F{cyan}%}%!%{%f%k%b%}'
提前谢谢
denym只需测试中命令的输出。这将输出您的
头部
状态,与您对
源代码/主代码
的本地引用相对应,这是您不必对遥控器做任何操作就可以得到的,正如道格拉斯在其评论中指出的那样,这是一个命运多舛的想法。

您应该使用模块随zsh一起提供

有一个非常详细的教程向您展示了如何做到这一点:

通常,在正确加载
vcs\u info
模块后,只需在$PROMPT变量中添加
${vcs\u info\u msg\u 0\u}
,但如果不喜欢默认的提示格式,可以自定义提示格式

顺便说一句,
vcs\u info
,顾名思义,也支持其他vcs,如svn、hg、cvs等。

只需在~/.zshrc中设置ZSH\u THEME=“manterscumbag”。。。它支持“未推送”状态

“向上箭头”显示有未推送的提交

853102c dosdok
(END)

我非常喜欢明确的答案,所以我只是查看了Marcello de Sales提供的主题(根据您的安装情况,您应该能够在
~/.oh my zsh/themes/
目录中找到您的主题)

只需提前使用
ZSH\u主题\u GIT\u PROMPT\u
全局变量即可

下面是一个显示右侧青色箭头的示例:

ZSH_THEME\u GIT\u PROMPT\u AHEAD=“%{$fg\u no\u bold[cyan]]}->”

此外,这里还有一个详细的示例,解释了如何自定义zsh主题。

您能否确定是否有无网络往返的未推送提交?在not then中,您不希望它出现在提示中……那么,如何配置
vcs_info
以显示有关未推送提交的信息(即被跟踪的分支中不存在的提交)?这个答案充其量是不完整的。@chepner如果你有时间阅读我在上面的答案中链接的文章,你可能已经知道怎么做了。仅供参考,从文章中复制>%u在存储库中显示未分级的更改>%c在存储库中显示分级的更改>>zstyle':vcs_信息:git*'格式“%s%r/%s%b(%a)%m%u%c”
853102c dosdok
(END)