zsh: muestra si la twig de git tiene commits no distribuidos

En realidad estoy usando una versión ligeramente modificada del tema oh my zsh blinks . Muestra una statement SSH solo por diferencia óptica en mi terminal local. También muestra la twig y una pequeña estrella si hay cambios no confirmados en la twig.

¿Es posible mostrar que hay compromisos no utilizados? Tal vez también con un pequeño indicador.

 # 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{networking}%}*%{%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{networking}%}!!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%}' 

gracias de antemano denym

Debe usar el module vcs_info con zsh.

Hay un tutorial muy detallado que le muestra cómo hacerlo: http://arjanvandergaag.nl/blog/customize-zsh-prompt-with-vcs-info.html

Normalmente solo necesita tener ${vcs_info_msg_0_} en su variable $ PROMPT después de cargar correctamente el module vcs_info , pero puede personalizar el formatting de request si no le gusta el pnetworkingeterminado.

BTW, vcs_info , como su nombre lo sugiere, también es compatible con otros VCS, por ejemplo, svn, hg, cvs, etc.

Simplemente configure ZSH_THEME = "mortalscumbag" en su ~ / .zshrc … Admite el estado "sin apurar" …

 1 file changed, 1 insertion(+), 1 deletion(-) (ssh) [email protected] ‹ master ↑ › : ~/.oh-my-zsh 

La "flecha hacia arriba" muestra que hay commits sin apresurar …

 853102c dosdok (END) 

Solo testing la salida de los commands en esta respuesta . Eso dará como resultado su estado HEAD contra su reference local al origin/master , que es lo mejor que puede get sin hacer algo en contra del control remoto, lo cual, como señala Douglas en su comentario, es una idea nefasta.