Finalización de comandos git

Recientemente cambié de usar una caja de Ubuntu durante los últimos 7 años a una Mac. He leído otras publicaciones como Cambiar de Ubuntu a OS X y estoy perdido y ¿Cuál es la diferencia entre iTerm2 y Terminal?

¿Por qué iTerm2 y Terminal no completan los argumentos de un comando?

P.ej. Si hago gi+ Tab, autocompleta esta palabra a gitla que es bueno. Cuando agrego un espacio y pruebo remo+ Tab, ¿por qué no lo autocompleta para que me remoteguste en Ubuntu? Tengo que escribir todo manualmente después de la palabra git. Lo mismo para otros comandos.

¿Estoy haciendo algo mal o me estoy perdiendo algo?

(Tenga en cuenta que no estoy hablando del atajo cmd+ ;que completa automáticamente las entradas escritas previamente en iTerm2).

Terminal e iTerm2 no completan el comando. Es el shell y sus complementos los que pueden ser los mismos en Linux y OSX, por lo que debe indicar cuál es su configuración completa en Linux y duplicarla en OSX.
Desea autocompletar para git: consulte apple.stackexchange.com/q/55875/24565

Respuestas (6)

La forma más fácil de obtener el autocompletado en OS X es cambiar su shell a zsh.

Puede probar cosas ejecutando zshiTerm y terminal antes de hacer el cambio anterior. Si realmente quieres seguir adelante bash, puedes comenzar con estas dos preguntas:

¡Dulce! ¡Zsh es bueno! Nunca me molesté en cambiar de bash :). Update:Usar zsh con oh-my-zsh es increíble.
ahhh amor oh-mi-zsh

Una solución al cambiar de ubuntu es usar homebrew, un administrador de paquetes para Mac OSX . En particular, para git, habrá incluido una serie de adiciones, incluida la finalización de bash. Esto será cierto para otros programas que son falsos para los desarrolladores, como make.

En 2 pasos:

  1. instalar conruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
  2. Corre brew doctorpara configurar correctamente tu ruta
  3. Instale la finalización de git y bash:brew install git bash-completion
  4. Agregue el comando return en el paso anterior en su archivo .bash_profile.
  5. Reinicie sus sesiones de bash una vez que las nuevas herramientas y la configuración estén escritas en su sistema de archivos.

Más sobre este cómo .

Tengo dos sugerencias:

  1. usa pescado , es realmente simple y fácil

    una. extiéndalo usando oh-my-fish

  2. zsh con oh-mi-zsh. zsh ya está instalado, por lo que no necesita hacer mucho.

    una.chsh -s /bin/zsh

    b. cerrar sesión y volver a iniciar sesión

    C. ejecute esto para instalar oh-my-zsh wget --no-check-certificate https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | shmás información aquí: https://github.com/robbyrussell/oh-my-zsh

Lo uso oh-my-zshpero fishtambién es genial.

Esto evita un poco el problema, en caso de que alguien quiera mantener la versión de Git proporcionada por Apple en su sistema.

Puede crear alias en el archivo .gitconfig en su directorio de inicio para comandos git más cortos. Por ejemplo, tengo git configurado para que git stse ejecute git statusen su lugar.

Ejemplo de alias en .gitconfig:

[alias]
    co = checkout
    ci = commit
    st = status
    br = branch

Una opción que podría ayudar es usar para el autocompletado .git-completion.bashde bash git .

Le permite escribir comandos git y luego autocompletar para el nombre remoto (por ejemplo, 'origen' o 'heroku') y luego (y más significativamente) para los nombres de las ramas del repositorio.

Consulte https://apple.stackexchange.com/a/55886/24565

Descarga el archivo desde
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

Para aquellos que buscan una solución de finalización de comandos para bash que sea tan fácil de usar como zsh + oh-my-zsh, ahora existe el proyecto bash-it . Lo cual, en sus propias palabras, es "una estafa desvergonzada de oh-my-zsh" -- ¡realmente no tiene nada de malo!

Establece una arquitectura similar a un complemento como lo hace oh-my-zsh, donde puede traer cosas dentro y fuera de su entorno fácilmente y obtener cosas nuevas a través de la sincronización con su proyecto github.

La instalación necesita tres pasos:

  1. Compruebe un clon de este repositorio:git clone https://github.com/revans/bash-it.git ~/.bash_it
  2. Ejecutar ~/.bash_it/install.sh(hace una copia de seguridad automática de su ~/.bash_profile)
  3. Edite su ~/.bash_profilearchivo para personalizar bash-it.

Si tiene miedo de un cambio completo a zsh, bash-ites un buen término medio que lo mantiene conectado bashpero le brinda muchos complementos poderosos para ampliar su entorno.