Skip to content

Latest commit

 

History

History
66 lines (53 loc) · 3.68 KB

File metadata and controls

66 lines (53 loc) · 3.68 KB

Git con Bash

Si eres usuario de Bash, puedes acceder a una serie de características de la consola o terminal que pueden hacer mucho más llevadera la experiencia con Git. Aunque Git viene con extensiones para varios tipos de terminales, éstas no suelen estar activadas por defecto.

Lo primero es obtener una copia del archivo contrib/completion/git-completion.bash del código fuente de Git. Haz una copia de este archivo en cualquier lugar, por ejemplo el directorio de inicio, y añádelo al .bashrc:

. ~/git-completion.bash

Una vez hecho esto, cámbiate a un directorio que sea un repositorio git y teclea:

$ git chec<tab>

… Bash debería autocompletar con git checkout. Esto funciona con todos los subcomandos de Git, parámetros en línea de comandos y en nombres remotos y referencias, cuando sea apropiado.

También resulta útil personalizar el prompt para que muestre información sobre el repositorio Git que hay en el directorio actual. Se puede hacer tan simple o tan complejo como quieras aunque hay una serie de elementos de información que a la mayoría de las personas les resultan útiles, como la rama actual o el estado del directorio de trabajo. Para añadirlo al prompt, simplemente haz una copia del archivo contrib/completion/git-prompt.sh del código fuente de Git al directorio de inicio y añade lo siguiente al .bashrc:

. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '

La \w indica que muestre el directorio de trabajo actual, la \$ que muestre el símbolo $ como parte del prompt y el __git_ps1 " (%s)" llama una función en git-prompt.sh con un parámetro de formato. Así, el prompt del bash tendrá este aspecto cuando estemos en un proyecto gestionado con Git:

Prompt personalizado en `bash`.
Figure 1. Prompt personalizado en bash.

Ambos scripts tienen una práctica documentación, por lo que, para más información, revisa los contenidos de git-completion.bash y git-prompt.sh.