¿Hay un atajo para el nombre de la sucursal de git?

Tiendo a tener nombres de twig largos para git (por ejemplo, step110_create_search_engine_to_replace_google).

¿Cómo debería referirme a él simplemente como paso110 en las declaraciones de verificación / confirmación?

Si estás en un sistema tipo Unix (Linux, Mac OS X, quizás otros), existe el set de reglas autocomplete contrib/complete/git-completion.bash bash, que te permitirá completar automáticamente los commands de git (puedes escriba git checkout step110<tab> y su shell autocompleteá el nombre de la twig.

Para activar esto:

  • Si tienes la fuente de git, en contrib/complete/ hay un file git-completion.bash . Ponlo en un lugar seguro (como ~/.git-completion ), y luego agrega la siguiente línea a tu file ~/.bashrc : source ~/.git-completion . Reinicie su session de shell o ejecute source ~/.git-completion para ejecutarlo en la session de shell actual.
  • Si no tienes el origen de git, puedes get el script desde aquí (github.com). Luego sigue las mismas instrucciones que arriba.

Si tienes la suerte de estar usando zsh lugar de bash , sé que oh-my-zsh tiene complementos de autocompletado de git (no estoy seguro de cómo activarlos sin oh-my-zsh ).

Fuentes:

  • mbuttu.wordpress.com
  • codethatmatters.com

Así es como lo instalé en OS X …

Verifique si está en su sistema local primero. Parece que MacPorts y Homebrew lo descargan por ti.

 $ find / -name "git-completion.bash" 

De lo contrario, descárgalo …

 $ wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -O ~/.git-completion 

Si no tiene wget , puede instalarlo fácilmente con Homebrew o usar cURL .

 $ vim ~/.profile 

… o su editor de elección.

Luego añade…

 source ~/.git-completion 

Si su autocompletado no funciona automáticamente …

 $ source ~/.profile 

… y luego tienes autocompletado Git.

Solo quiero agregar que este file generalmente ya viene con git. No necesita downloadlo de nuevo. Solo necesita ubicarlo y ejecutarlo.

En mi sistema (Centos OS) los siguientes pasos funcionan:

 $ locate completion.bash /usr/share/doc/git-1.7.4.1/contrib/completion/git-completion.bash $ source /usr/share/doc/git-1.7.4.1/contrib/completion/git-completion.bash 

Obvio como ya se señaló, es mejor agregar esta línea a su file .bashrc en su directory de inicio, para que no tenga que repetirla cada vez que abra un nuevo shell.

En mi caso, agregaría el último command a mi file .bashrc

 source /usr/share/doc/git-1.7.4.1/contrib/completion/git-completion.bash 

Prueba este alias:

 cb = "!checkoutbranch() { local branches=`git branch | grep -i $1 | tr -d '* '`; if [[ `echo \"$branches\" | wc -l | tr -d ' '` != 1 ]]; then echo \"Matched multiple branches:\"; git branch | grep --color -i $1; exit 1; fi; git checkout $branches; }; checkoutbranch" 

Verifica la twig de develop :

 git cb dev 

git symbolic-ref puede ayudarte si eres demasiado perezoso para presionar una TAB como yo.

 $ git symbolic-ref refs/branches/s1 refs/heads/step110_create_search_engine_to_replace_google $ git reset --hard s1 $ git checkout -b s1-experiment s1 

Puede alias una twig remota para omitir la escritura remote/ TAB . (prefijo con refs/tags/ para evitar problemas)

 $ git symbolic-ref refs/tags/base refs/remotes/github/a-branch-to-which-you-dont-want-to-push $ git rebase -i base