He seguido http://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-without para agregar git-completion.bash
a mi/opt/local/etc/bash_completion.d/git-completion
y puse PS1='\h:\W$(__git_ps1 "(%s)") \u\$ '
en mi .bashrc_profile
Pero ahora estoy obteniendo esto -bash: __git_ps1: command not found
todo lo que hago a cd
.
¿Me puede decir qué me estoy perdiendo?
Respuestas:
Instalé git usando MacPorts en mi nueva instalación de Snow Leopard. Después de instalar MacPorts desde la imagen .dmg, estos serían los comandos en Terminal.app:
Si también desea soporte para extraer documentos y repositorios SVN, use esto en lugar de la segunda línea:
Luego agregue lo siguiente a su ~ / .profile o ~ / .bash_profile:
o para MacPorts desde la versión 2.1.2 en Mountain Lion:
o para MacPorts con versiones más nuevas de git:
Nota: bash 4.1 o superior es requerido por bash_completion.sh. Si la finalización no funciona, intente
echo $BASH_VERSION
ver si ese es el problema. Si es así, ingrese MacPorts bash escribiendobash
e intente git complete nuevamente.fuente
if [ -f /opt/local/share/git-core/git-prompt.sh ]; then . /opt/local/share/git-core/git-prompt.sh fi
/opt/local/etc/profile.d/bash_completion.sh
necesita$BASH_VERSION
4.1 o superior, tuve que hacer lo siguiente en un Mac OS X 10.8.3 con MacPorts 2.1.3: cambiar el shell de inicio de sesión de Mac OS X de su valor predeterminado/bin/bash
(versión 3.2.48 (1)) a MacPorts/opt/local/bin/bash
(4.2 .42 (2) -release) como se describe aquí: stackoverflow.com/a/791244/287984. Básicamenteif [ `grep /opt/local/bin/bash /etc/shells` ]; then echo /opt/local/bin/bash | chsh -s /opt/local/bin/bash; else echo /opt/local/bin/bash | sudo tee -a /etc/shells; chsh -s /opt/local/bin/bash; fi
/bin/bash
en Terminal.app con/opt/local/bin/bash
desde macports + todos los.bash_profile
cambios sugeridos aquí.Si ha instalado git utilizando homebrew de lo que pueda ajustar el consejo DarwinPorts un poco y agregar esto a su
.bash_profile
e.bashrc
La mejor manera de verificar si tiene git instalado correctamente usando homebrew es ejecutar
y verifique la salida para el directorio de instalación de la finalización de git bash
La última versión de Git (1.7.12) también requiere lo siguiente para habilitar la solicitud.
fuente
__git_ps1
, consulte superuser.com/a/477749/90231 answer en esta pila.Todo lo que necesita hacer es colocar el
git-completion.bash
archivo en subin
directorio de inicio de usuario y colocar lo siguiente en usted.profile
o en el.bash_profile
archivo:Lo que esto hace es asegurarse de que su contenedor local esté en la RUTA y que el
source
comando ponga las cosas en marcha. Luego, por supuesto, el cambio de PS1 coloca la rama actualmente desprotegida en el indicador.Por lo tanto, no instale MacPort para instalar una versión de "finalización" de GIT (especialmente irritante si ya lo tiene instalado).
fuente
$PATH
. Decidí poner el mío/usr/local/bin/
para no tener que modificar mi existente$PATH
.Si bien la respuesta actual es correcta para MacPorts anteriores, hay un nuevo problema con los MacPorts más actuales que resulta en el mismo error.
El paquete actual de finalización de bash (2.0 r1) requiere al menos un bash 4.1 para funcionar correctamente. Como un OS X Terminal habitual usa
/bin/bash
, solo obtiene un 3.x. Debe cambiar la configuración de su terminal para usar/opt/local/bin/bash -l
como se describe en la documentación de MacPorts aquí: http://trac.macports.org/wiki/howto/bash-completionfuente
Necesita obtener las funciones de finalización de comandos. Agregue a su .bashrc_profile antes de PS1:
fuente
Molesto, esto se ha roto una vez más. Esta vez es la gente de git con la versión 1.7.12-1. Para permitir que las personas tengan solo la funcionalidad de solicitud sin la funcionalidad de finalización (que puede ralentizar las cosas), refactorizaron la funcionalidad de solicitud de bash_completion / git y en su propio archivo git-prompt.sh.
Por lo tanto, agregar bash_completion como lo describe @Lara solo lo completará (al presionar la pestaña se completan los nombres de etiqueta / rama).
Para obtenerlo
__git_ps1
y poder usarlo en su solicitud de PS1, también debe agregar lo siguiente a su ~ / .profile.. /opt/local/share/doc/git-core/contrib/completion/git-prompt.sh
Algunos antecedentes están aquí: https://bbs.archlinux.org/viewtopic.php?pid=1163632#p1163632
fuente
O con Homebrew
fuente
brew install bash-completion git-extras
embargo, debería ser (guión en lugar de guión bajo).Encontró una solución en una pregunta similar :
El instalador de git-osx viene con
git-completion.bash
y lo instala/usr/local/git/contrib/completion/
. Simplemente.bash_profile
obtenga ese archivo de su para obtener__git_ps1
.fuente
Para Mountain Lion y Mac-Ports, necesitaba usar las siguientes líneas en mi .bash_profile para que tanto __git_ps1 como las terminaciones se ejecuten normalmente:
fuente
Yo uso brew, por
bash_completion
lo quebash_completion.d
parece que no se proporciona un script maestro que ejecute todos los que hay. Las soluciones que proponen simplemente ejecutar un solo script para agregar terminaciones git no son extensibles, porque diferentes paquetes agregarán diferentes scripts de finalización, y probablemente desee ejecutarlos todos. Por lo tanto, agregué esto (adaptado de Arch Linux) al final de/etc/bashrc
:fuente
Al menos con Xcode 6, ya lo tienes
git-completion.bash
. Está dentro del paquete de la aplicación Xcode.Simplemente agregue esto a su .bashrc:
fuente
git br<TAB>
Además de la publicación de Adam K. Johnson
También puedes poner lo siguiente ...
... en su / etc / profile, si lo desea.
De esa manera, todos los usuarios del sistema se beneficiarán de cualquier script de finalización de bash instalado en el directorio "/opt/local/etc/bash_completion.d/".
fuente
Si bien la respuesta anterior de grundprinzip de 2011 todavía funciona bien, quería agregar una respuesta más reciente ahora que ahora hay un paquete Homebrew bash-complete ( fórmula , repositorio ) que lo hace aún más fácil. (Esto incluye la finalización de git, así como otras herramientas comunes).
Hoy macOS viene con Bash 3, pero puede
brew install bash
obtener Bash 4. Si está ejecutando Bash 4, instale la nueva rama 2.x de bash-complete.Golpe 4
Correr:
Añadir a
~/.bash_profile
:Golpe 3
Si desea seguir con stock bash 3.x en macOS, siga estas instrucciones en su lugar.
Correr:
Añadir a
~/.bash_profile
:Referencia: http://davidalger.com/development/bash-completion-on-os-x-with-brew/
fuente
Creo que quizás olvides obtener el archivo en tu inicio de sesión
.bashrc
, puedes agregar algo como:El uso
.
seguido de un espacio ejecuta el archivo en el contexto actual.fuente