Estoy usando Git, he cambiado la siguiente línea en .bashrc
, para mostrar la rama de salida actual en el prompt, cuando pwd
es un Git Repo. Sistema operativo que estoy usando es: 32 bits de UbuntuCómo comprobar si Git está instalado desde .bashrc
# Original PS1 Line
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
estoy usando esta opción para acceder rama actual del repositorio git en el intérprete de comandos, en lugar de, por encima de la línea.
# PS1 Line to show current Git Branch in the Prompt
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;32m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '
El problema es cuando se lo doy a amigos, Shell da error __git_ps1: command not found
, mientras que la navegación entre directorios, como los controles de secuencia de comandos para la industria de Git en el cambio de directorios. ¿Cómo verifico si Git está instalado y realizo la verificación de ramificación solo si git está instalado?
Editar: Como sugiere ayckoster, me cameup con las siguientes líneas de código:
if [ "$color_prompt" = yes ]; then
git --version
GIT_IS_AVAILABLE=$?
if [ $GIT_IS_AVAILABLE -eq 0 ]; then
# PS1 Line to show current Git Branch in the Prompt
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;32m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '
else
# Original PS1 Line
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
fi
else
PS1='${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$ '
fi
Ahora, cada vez que abro el terminal consigo el git --version
da salida a la pantalla, mientras que Git se instala, y consigo el error siguiente, mientras que la apertura terminal cuando Git no está instalado:
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
¿Cómo puedo borrar esto? Gracias.
edición final:
Este es el código que se me ocurrió, finalmente, no dude en utilizar este código en tu .bashrc
para mostrar actual git branch
en su intérprete de comandos
if [ "$color_prompt" = yes ]; then
if git --version &>/dev/null; then
# PS1 Line to show current Git Branch in the Prompt
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;32m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '
else
# Original PS1 Line
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
fi
else
if git --version &>/dev/null; then
# PS1 Line to show current Git Branch in the Prompt
PS1='${debian_chroot:+($debian_chroot)}\[email protected]\h:\w $(__git_ps1 "(%s)")\$ '
else
# Original PS1 Line
PS1='${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$ '
fi
fi
Tenga en cuenta que el '__git_ps1' función no siempre está disponible. - No está disponible en mi git 2.3.2 en una Mac, por ejemplo. Sin embargo, está disponible aquí: https://github.com/git/git/blob/8976500cbbb13270398d3b3e07a17b8cc7bff43f/contrib/completion/git-prompt.sh –