Uno de los errores más comunes cuando llevas poco tiempo usando git (o llevas un poco más pero eres un tolai como yo) es confundirte de rama: estar en una de desarrollo pensando que estás en la master, o viceversa, y liarla parda con cualquier comando. Este truquito te permite saber en todo momento cuál es la rama seleccionada.
Añade esto en tu ~/.bash_profile:
git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1) /'
}
export PS1="\u@\h:\w \$(git_branch)$ "
Bueno, en la parte de \u@\h:\w pon lo que quieras o lo que tuvieras antes, eso es lo que me gusta tener a mí (usuario@máquina:directorio). Con este truquito, si estás en un directorio que es una copia de trabajo de git, el prompt te mostrará entre paréntesis la rama en la que estás:
¿A que mola? (por cierto, lo he cogido, con una mínima modificación, de aquí)

Mola huevo y medio.. :)
Si que mola si.
Gracias!
Una cosilla, no coinciden el nombre en la definición de la función con su invocación.
git_branch() => parse_git_branch()
Un saludo!
Jajaja, cosas del copia pega, lo arreglo ahora mismito, gracias!
Gracias salado :)
Mola.
Y ya que te pones a llenar el prompt de cosas, uno de mis "hacks" favoritos del .bash_profile:
export PS1="
\u@h \w
$ "
(así tendrás un prompt en una línea para él solito : )
Una aportación que haría el mismo finito:
cuando no estás en ninguna rama el prompt te deja un espacio en blanco de más.
Se puede cambiar tu propuesta por esta, que ya no lo hace:
git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1) /'
}
export PS1="\u@\h:\w \$(git_branch)$ "
Jajaja, pues la cuestión es que mientras escribía el artículo arreglé eso (como se puede ver en la captura de pantalla) pero se me olvidó arreglarlo en el código copiapegado.
Gracias Blat, ¡arregladito!, ¿a que tengo excusas para todo? :D
Ya veo ya. Yo es que me he montado ya en casa el Git de LC y mira, me he dado cuenta del sutil detalle.
Nos vemos luegorl!