Terminación para los commands de git

Recientemente cambié de usar una caja 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 arguments para un command?

P.ej. Si hago gi + Tab , autocompleta esta palabra a git cual es bueno. Cuando agrego un espacio e bash remo + Tab , ¿por qué no lo obtengo autocompletado en remote como en Ubuntu? Tengo que escribir todo de forma manual después de la palabra git . Lo mismo para otros commands.

¿Estoy haciendo algo mal o me estoy perdiendo algo?

(Tenga en count que no estoy hablando del acceso directo cmd + ; que autocompleta las inputs previamente tipadas en iTerm2).

6 Solutions collect form web for “Terminación para los commands de git”

La forma más fácil de get la autocompletación en OS X es cambiar el shell a zsh .

  • Cambiar el shell pnetworkingeterminado de bash a zsh

Puedes probar cosas ejecutando zsh en iTerm y terminal antes de hacer el cambio anterior. Si realmente quieres seguir con bash , puedes comenzar con estas dos preguntas:

  • ¿Hay alguna manera de autocomplete el command abrir en Terminal?
  • ¿Cómo puedo hacer que la function autocomplete en el shell funcione con plegado de casos?

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

En 2 pasos:

  1. instalar con ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
  2. Ejecute el brew doctor para configurar su ruta correctamente
  3. Instalar la finalización de git y bash: brew install git bash-completion
  4. Agregue el command return en el paso anterior en .bash_profile .
  5. Reinicie sus sesiones de bash una vez que las nuevas herramientas y la configuration estén escritas en su sistema de files.

Más sobre este howto .

Tengo dos sugerencias:

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

    a. extenderlo usando oh-my-fish

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

    a. chsh -s /bin/zsh

    segundo. cerrar session e iniciar session de nuevo

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

Yo uso oh-my-zsh pero el fish es genial.

Esto evita 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 file .gitconfig en su directory de inicio para commands de git más cortos. Por ejemplo, he configurado git st para que git st ejecute el git status lugar.

Ejemplo de alias en .gitconfig:

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

Una opción que podría ayudar es usar .git-completion.bash para la autocompletación de bash git .

Te permite escribir commands git y luego tener autocomplete para el nombre remoto (por ejemplo, 'origen' o 'heroku') y luego (y más significativamente) para los nombres de las sucursales del repository.

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

Descargue el file de
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

Para aquellos que buscan una solución de finalización de commands 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 desvergonzada estafa de oh-my-zsh", ¡nada de malo en eso realmente!

Establece una architecture tipo plugin como lo hace oh-my-zsh, donde puedes introducir y sacar elementos de tu entorno fácilmente y get cosas nuevas sincronizando a su proyecto github.

Instalación en tres sencillos pasos:

  1. Verifique una copy de este repository: git clone https://github.com/revans/bash-it.git ~/.bash_it
  2. Ejecute ~/.bash_it/install.sh (hace una copy de security de su ~/.bash_profile )
  3. Edite su file ~/.bash_profile para personalizar bash-it.

Si tienes miedo de un cambio completo a zsh , bash-it es un buen término medio que te mantiene en bash pero te ofrece muchos complementos potentes para extender tu entorno.

  • ¿Cómo puedo importar keys privadas a la aplicación iSSH en iPhone?
  • ¿Por qué no puedo usar xdg-open y gnome-open en Mac?
  • ¿Enciende el terminal desde un flujo de trabajo de Automator?
  • ¿Cómo puedo ejecutar un script Bash / Curl / Whatever cuando hay una notificación nueva?
  • Recuperando valores booleans de las properties del sistema (commands de terminal)
  • ¿Por qué funciona un SIGTERM de captura de script de shell cuando se ejecuta manualmente, pero no cuando se ejecuta mediante launchd?
  • La session de telnet simple falla en OS X
  • ¿Es posible habilitar el mouse haciendo clic derecho a través de Terminal?
  • Para instalar un buffer en OSX
  • Cómo interpretar el resultado del command 'xxd'
  • ¿Cómo puedo crear 'gch.app' de modo que "abrir-gch page.html" funcione como "abrir -a Google \ Chrome page.html"?
  • Detener la request para desbloquear el disco
  • En Terminal, ¿cómo agrego una key de host al file known_hosts?
  • Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).