7

实际上,我使用的是 oh my zsh 主题的略微修改版本blinks。它显示了一个 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%}'

在此先感谢否认

4

4 回答 4

3

只需在你的 ~/.zshrc 中设置 ZSH_THEME="mortalscumbag" ......它支持“unpushed”状态......

1 file changed, 1 insertion(+), 1 deletion(-)

(ssh) mdesales@pppdc9prd08i ‹ master ↑ › : ~/.oh-my-zsh

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

853102c dosdok
(END)
于 2013-12-19T08:37:27.580 回答
1

您应该使用vcs_infozsh 附带的模块。

有一个非常详细的教程向您展示了如何做到这一点:http ://arjanvandergaag.nl/blog/customize-zsh-prompt-with-vcs-info.html

通常你只需要${vcs_info_msg_0_}在你正确加载vcs_info模块后在你的 $PROMPT 变量中加入,但如果你不喜欢默认的提示格式,你可以自定义提示格式。

顺便说一句,vcs_info顾名思义,它也支持其他 VCS,例如 svn、hg、cvs 等。

于 2013-05-03T05:24:28.457 回答
1

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

只需使用ZSH_THEME_GIT_PROMPT_AHEAD全局变量。

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

ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_no_bold[cyan]%}->"

此外,这是一篇很棒的文章,其中详细介绍了如何自定义 zsh 主题。

于 2020-11-14T19:37:03.067 回答
0

只需测试此答案中命令的输出即可。这将HEAD根据您对 的本地引用输出您的状态origin/master,这与您可以在不对遥控器做任何事情的情况下一样好,正如 Douglas 在他的评论中指出的那样,这是一个命运多舛的想法。

于 2013-05-03T03:56:41.567 回答