23 votos

El autocompletado de Git no funciona en Mac OSX 10.11.5 El Capitan

He probado los ejemplos encontrados aquí para conseguir que el autocompletado de Git funcione en El Capitán, sin embargo ninguno de los ejemplos me funciona.

He instalado bash-completion con Homebrew ( brew install bash-completion ).

Esta es mi ~/.bash_profile actualmente (como puedes ver, he probado algunas cosas):

CRMPiccosMacBook:etc crmpicco$ cat ~/.bash_profile 
alias ll='ls -lG'
alias composer="php /usr/local/bin/composer.phar"

#if [ -f $(brew --prefix)/etc/bash_completion ]; then
#   . $(brew --prefix)/etc/bash_completion
#fi

if [ -f `brew --prefix`/etc/bash_completion.d/git-completion.bash ]; then
    . `brew --prefix`/etc/bash_completion.d/git-completion.bash
fi

#source /usr/local/git/contrib/completion/git-completion.bash
#GIT_PS1_SHOWDIRTYSTATE=true
#export PS1='[\u@mbp \w$(__git_ps1)]\$ '

Así, si voy a mi directorio con el repo Git clonado y escribo git checkout m y pulsar [TAB] no obtengo nada (cuando esperaba master para ser rellenado previamente).

Cuando ejecuto una source en él, no existe - sin embargo está instalado.

CRMPiccos-MacBook:signup crmpicco$ brew install bash-completion
Warning: bash-completion-1.3_1 already installed
CRMPiccos-MacBook:signup crmpicco$ source /etc/bash_completion.d/git-completion.bash
-bash: /etc/bash_completion.d/git-completion.bash: No such file or directory

0 votos

La respuesta de Tony Williams aquí parece sólida y esta usado me funcione en mi Mac, creo. No estoy seguro de cuándo o por qué dejó de funcionar en mi Mac y ahora el consejo de Tony tampoco me lo solucionó. Sin embargo, el consejo de Michael Durrant aquí ¡lo hizo!

28voto

Tony Williams Puntos 4903

Estás confundiendo el completamiento básico de bash con el complemento necesario para completar los comandos de git.

El git que es instalado por Apple carece de la git-completion.bash por lo que necesitas instalar el git completo. Usted puede hacer esto fácilmente con homebrew - brew install git hará el trabajo.

Una vez hecho esto, descomente las tres primeras líneas :-

if [ -f $(brew --prefix)/etc/bash_completion ]; then
    . $(brew --prefix)/etc/bash_completion
fi

Ahora source ~/.bash_profile y debería funcionar bien.

0 votos

Hice exactamente lo que me dijiste, Tony, pero sigue sin funcionar.

4 votos

Los pasos necesarios son :- (1) Instalar bash-completion usando homebrew (2) instalar git usando homebrew. (3) añadir las líneas anteriores a su .bash_profile . Ahora abre una nueva ventana de Terminal y deberías encontrar git completion funcionando.

0 votos

Instalación de git con brew install git solucionado mi problema. Gracias @TonyWilliams

11voto

NonCreature0714 Puntos 339

Como nota para los usuarios, como yo, que ya actualizaron a MacOS Catalina, que desaprovechó bash y, sin embargo, terminó en esta respuesta como resultado principal...

Para MacOS Catalina+, que utiliza zsh Hay algunos otros requisitos. Descargue ambos scripts:

curl -o git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
curl -o _git https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.zsh

A continuación, actualice su ~/.zshrc con:

zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.bash
fpath=(~/.zsh $fpath)

autoload -Uz compinit && compinit

0 votos

No estoy del todo seguro de por qué esto fue downvoted cuando es a la vez correcta y relevante para Catalina, que utiliza zsh .

0 votos

¿Dónde se supone que se almacenan estos archivos?

2 votos

El título de esta pregunta se refiere a Catalina, pero un lector atento observará que el detalle de la pregunta se refiere a bash . Por lo tanto, un zsh La respuesta no responde a la pregunta.

1voto

Ganesh Satpute Puntos 111

Con la ayuda de esta respuesta Lo resolví usando estos comandos

curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

Luego edité el archivo ejecutando vi ~/.zshrc y le he añadido la siguiente parte

if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
fi

Entonces sí corrí source ~/.zshrc entonces las sugerencias de git empezaron a funcionar correctamente.

0 votos

El título de esta pregunta se refiere a Catalina, pero un lector atento observará que el detalle de la pregunta se refiere a bash. Por lo tanto, una respuesta con zsh no responde a la pregunta.

2 votos

El resultado es ERROR: this script is obsolete, please see git-completion.zsh

1voto

Thiago F Macedo Puntos 189

Para las personas que utilizan bash 5, pueden instalar el paquete homebrew bash-completion@2 y añada lo siguiente a su ~/.bash_profile .

[[ -r "$(brew --prefix)/etc/profile.d/bash_completion.sh" ]] && . "$(brew --prefix)/etc/profile.d/bash_completion.sh"

0 votos

¿Cómo mejora esto la respuesta apple.stackexchange.com/a/245324/237

1 votos

La sintaxis para la configuración con la nueva terminación bash es diferente a la otra respuesta.

0voto

llan yort Puntos 1

Esto es lo que me funcionó en Sierra. Encontré aquí .

Después de instalar bash-completion y añadiendo el fragmento a su .bash_profile :

cd /usr/local/etc/bash_completion.d  
ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion  
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion  
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X