Finalización para comandos git

17

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 para un comando?

P.ej. Si hago gi+ Tab, completa automáticamente esta palabra, lo gitcual es bueno. Cuando agrego un espacio y pruebo remo+ Tab, ¿por qué no hago que se complete automáticamente 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 falta algo?

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

rgamber
fuente
1
Terminal e iTerm2 no completan el comando Es el shell y sus complementos 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.
user151019
Desea autocompletar para git: consulte apple.stackexchange.com/q/55875/24565
Michael Durrant el

Respuestas:

11

La forma más fácil de completar automáticamente en OS X es cambiar su shell a zsh.

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

bmike
fuente
3
¡Dulce! zsh es bueno! Nunca se molestó en cambiar de bash :). Update:Usar zsh con oh-my-zsh es increíble.
rgamber
ahhh love oh-my-zsh
Prefix
13

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 con ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
  2. Corre brew doctorpara configurar tu camino correctamente
  3. Instale git y bash completado: brew install git bash-completion
  4. Añadir el retorno de comandos en el paso anterior en su .bash_profile.
  5. Reinicie sus sesiones de bash una vez que las nuevas herramientas y configuración se escriban en su sistema de archivos.

Más sobre este tutorial .

Meduz
fuente
3

Tengo dos sugerencias:

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

    a. extiéndelo 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

    si. 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

Yo uso, oh-my-zshpero también fishes genial.

ipinak
fuente
3

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 archivo .gitconfig en su directorio de inicio para comandos git más cortos. Por ejemplo, tengo git configurado para que se git stejecute en su git statuslugar.

Alias ​​de ejemplo en .gitconfig:

[alias]
    co = checkout
    ci = commit
    st = status
    br = branch
Kevin Chen
fuente
2

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 está el proyecto bash-it . Lo cual, en sus propias palabras, es "una estafa desvergonzada de oh-my-zsh" - ¡no hay nada malo en eso realmente!

Configura un complemento como la arquitectura como lo hace oh-my-zsh, donde puede introducir y sacar cosas de su entorno fácilmente y obtener cosas nuevas mediante la sincronización de su proyecto Github.

Instalación en tres sencillos pasos:

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

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

Ian C.
fuente