¿Cómo puedo tener un shell para git como en Windows?


9

Cuando uso Windows, el shell (incluso un shell estándar de Windows) muestra información básica sobre el repositorio git cuando se encuentra en un repositorio git. Cosas como la rama activa y tal vez algunos códigos de colores.

¿Hay alguna manera de tener lo mismo en Ubuntu?


¿Qué versión de git tienes instalada en Windows? ¿Qué comandos ejecutas para obtener esta información? ¿Has probado esos comandos con el git-corepaquete instalado?
jackweirdy

En git tengo la última versión, pero simplemente si uso la línea de comando y estoy dentro de un repositorio de git, veo el nombre de la rama activa
Nicola Peluchetti

Respuestas:


4

El shell de Windows Git, que en realidad es solo bash, establece el indicador $PS1en una cadena larga que incluye $(__git_ps1).

__git_ps1 se define como una función, de casi 100 líneas de largo, que imprime el nombre de la rama actual entre paréntesis.

/etc/profile(que es C:\Program Files (x86)\Git\etc\profile, al menos en mi sistema)) invoca /etc/git-completion.bash, que define la __git_ps1función, establece $PS1, define algunas terminaciones específicas de git, entre otras cosas.

El git-completion.bashutilizado por Git Bash parece estar basado en esto .


1
Entonces, ¿qué debo hacer exactamente para activar esto en uBuntu? :) Lo siento pero soy nuevo.
Nicola Peluchetti

Vaya al directorio de inicio y escriba el comando en la terminal como "gedit .baschr" y se le pedirá que edite el archivo .baschr. Pero asegúrese de tener una copia original en un directorio diferente por seguridad.
Rahal Kanishka



1
  • Cómo evitar que escapen los colores del indicador de bash tiene un ejemplo. Puede copiarlo de la respuesta y luego usar gedit para pegarlo en la parte inferior del archivo .bashrc en su directorio de inicio (haciendo una copia de seguridad, primero, por supuesto).

  • Si el archivo .bashrc que Keith menciona en su respuesta es parte de git, tendrá licencia con GPL2, por lo que también debe tener la libertad de pegarlo en su archivo .bashrc. Tendrá que tomar el archivo /etc/git-completion.bash e instalarlo en algún lugar también, y hacer que su nuevo .bashrc lo haga referencia.

  • Aquí hay algo más que puede pegar y probar de Arturo Fernández en http://www.bsnux.com/recipes/how-display-you-current-git-branch-prompt.html

 # Mostrando git branch dentro de prompt
 función parse_git_branch {
   git branch --no-color 2> / dev / null | sed -e '/ ^ [^ *] / d' -e 's / * \ (. * \) / (\ 1) /'
 }

 función proml {
   VERDE local = "\ [\ 033 [0; 32m \]"
   BLANCO local = "\ [\ 033 [0; 37m \]"

 PS1 = "[\ u @ \ h \ w $ VERDE \ $ (parse_git_branch)] $ BLANCO \ $"
 PS2 = '>'
 PS4 = '+'
}
proml
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.