2012-03-15 9 views
21

He actualizado mi archivo .bashrc la siguiente manera:Viendo git nombre de la sucursal en el símbolo no funciona en la pantalla

PS1='[\[email protected]\h \W$(__git_ps1 " (%s)")]\$' 

funciona igual de encontrar y puedo ver mi nombre sucursal en el símbolo. Sin embargo, cuando corro "pantalla", consigo

"-bash: __git_ps1: comando no encontrado"

Cuál puede ser la razón de esto?

+0

Eche un vistazo a este hilo: http://stackoverflow.com/questions/2231214/git-tips-and-tricks-display-branch-on-command-prompt-not-working-and-created- s – ChristofferH

Respuesta

3

agregar source ~/.bash_profile en .bashrc.

Tuve el mismo problema y me funcionó.

7
# Add following line to /.bashrc to show Git branch name in ssh prompt 
PS1='\[\033[0;31m\]\w\[\033[0;33m\]$(__git_ps1)\[\e[0m\]$ ' 

\[\033[0;31m\] es rojo

\[\033[0;33m\] es amarillo

\[\e[0m\] es normal

8

El problema es que golpe necesita ser ejecutado como un shell de entrada para esta función esté disponible en el valor predeterminado Configuración de cygwin. Si ejecuta bash en un cygwin bash, tendrá el mismo problema. Para configurar la pantalla para funcionar en el modo de fiesta de inicio de sesión, añadir esta línea a su archivo ~/.screenrc:

shell -bash 
+1

Funcionó para mí en OSX, gracias! –

27

This blog post explica que hay que añadir la línea source /etc/bash_completion.d/git antes de poder utilizar __git_ps1.

Aquí está el ejemplo completo:

source /etc/bash_completion.d/git 
export PS1='\w$(__git_ps1 "(%s)") > ' 

Esto también permite la terminación automática de las ramas.

Utilizando ese formato, el indicador se parecerán (sin colorear):

~/my-repo(master) > 
+0

¿cómo se hace eso pero aún conserva la información de aviso normal? (es decir, simplemente agregue el nombre respectivo) – srcspider

+7

En Ubuntu 13.04, parece que tiene que obtener '/ etc/bash_completion.d/git-prompt' (que a su vez las fuentes'/usr/lib/git-core/git- sh-prompt') en lugar de '/ etc/bash_completion.d/git'. (Es posible que tenga que buscar el archivo de finalización correcto en la fuente ...) – michael

+1

__git_ps1 se movió fuera de git-completion. Consulte http://stackoverflow.com/a/12871094/551045 para obtener más información – RedX

22

me resulta más limpio para modificar el símbolo existente en lugar de definir una nueva. El siguiente fragmento agrega el nombre de la rama git al aviso existente (que es $ PS1). Puede añadir el siguiente fragmento en el fichero de ~/.bashrc:

source /etc/bash_completion.d/git (for Ubuntu 12.04 or less) 
source /etc/bash_completion.d/git-prompt (for Ubuntu 13.04 and higher) 
PS1=$PS1'$(__git_ps1 "(%s) ")' 

Si usted quiere tener el nombre de la sucursal en el color que usted puede hacer eso también: Por ejemplo, el color verde se define como [ \ e [0; 32m]. Añadimos esto a la cadena interior de la función git_ps1 y restablecemos el color con \ e [0m después. Los corchetes escapados son necesarios para indicar que se insertan caracteres "especiales".

PS1=$PS1'$(__git_ps1 "\[\e[0;32m\](%s) \[\e[0m\]")' 

Muchas otras definiciones de color can be found here

+0

Para colorear la rama de acuerdo con su estado (limpio/sucio/escondido/etc.), puede utilizar ** [script de solicitud git] (http://digitalfortress.tech/tutorial/setting-up-git-prompt-step -Por paso/)**. –

0

Esto fue probado en debian/ubuntu.


  1. instalar bash-completion paquete
  2. asegurarse de que existen las siguientes líneas en su ~/.bashrc y no están comentadas.

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then 
    . /etc/bash_completion 
fi 
0

Si usted no tiene __git_ps1 podría utilizar

git branch --contains HEAD 2>/dev/null 

Se muestra la misma __git_ps1 similares.

Y si crea un alias de esta manera:

alias __git_ps1='git branch --contains HEAD 2>/dev/null' 

por ejemplo, su prombt que se obtiene con este comando:

$PS1='[\[email protected]\h \W(`__git_ps1`)]\$' 

o con

PS1='[\[email protected]\h \W\[\033[36m\](`__git_ps1`)\[\033[0m\]]\$' 

si te gustan los colores

las secuencias de comandos que utilizan __git_ps1 y PROMT funciona perfecto.

Cuestiones relacionadas