40 votos

.git-completion.bash produce un error en MacOS Sierra 10.12.6

He seguido el proceso de git-completion según la descripción proporcionada en https://medium.com/@farooqyousuf/autocomplete-git-commands-and-branch-names-in-terminal-on-mac-os-x-4e0beac0388a :

El primer paso es ejecutar este comando en tu ventana de terminal, esto es básicamente agarrar el script de git-completion.bash y ponerlo en tu directorio home.

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

Ahora añade esta línea a tu '~/.bash_profile'. Esto permitirá la ejecución del autocompletado de git script si está presente

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

Ahora puede reiniciar todas sus ventanas de terminal o simplemente refrescar la ventana de terminal en la que desea utilizar este script. Para refrescar hazlo:

source ~/.bash_profile

El siguiente es el error que obtengo al pulsar tab después de escribir git :

unknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
  [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
  [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
  [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
  <command> [<args>]

56voto

wisbucky Puntos 122

Me encontré con el mismo problema. Después de investigar un poco, finalmente descubrí cuál es el problema de root.

Hicieron algunos cambios importantes en el git-completion.bash script que requiere una nueva función en git v2.18, --list-cmds . El problema es que ninguno de los gestores de paquetes ha actualizado aún a git v2.18.

La mayoría de las instrucciones dicen que hay que descargar raw.githubusercontent.com/git/git/ master /contrib/completion/git-completion.bash . Pero esa no es necesariamente la mejor opción porque a veces se descargará un git-completion.bash que su versión de git soporta.

Así que la solución es descargar el git-completion.bash que coincida con su versión git. Luego, vuelve a hacer el código fuente. En este caso:

https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash

Observe que hace referencia a v2.17.1 en lugar de master . Más adelante, cuando instales git v2.18, podrás volver a cambiar a master o v2.18 etiqueta.

2voto

Douglas Puntos 10417

No lo construyas desde el código fuente; en su lugar, instálalo desde MacPorts .

Para instalar git con autocompletado, emita el siguiente comando:

 $ sudo port install git +bash_completion

cierre y vuelva a abrir su Terminal y git completion debería funcionar

1voto

Mihai Puntos 1

Deberías verificar tu versión de git y asegurarte de que está actualizada al menos a la 1.8.

Tenía una versión anterior 1.7.11 pero no funcionaba y me daba el mismo error que a ti.

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