command git para emitir el nombre de la twig de seguimiento remoto

Me gustaría un command que emita el nombre de la twig rastreada para la twig en la que estoy. Algo como:

$ git checkout --track -b topic origin/master Branch topic set up to track remote branch master from origin. Switched to a new branch 'topic' $ git unknown-command origin/master 

¿Hay tal command?

Emitirá el control remoto que se rastrea:

 git config branch.<branchname>.remote 

Emitirá la reference que se rastrea en ese control remoto:

 git config branch.<branchname>.merge 

No creo que haya un command combinado que emitirá ambos juntos (al less dentro de Git normal, siempre puedes hacer el tuyo propio).


Por ejemplo, para una sucursal master local:

 $ git config branch.master.remote origin $ git config branch.master.merge refs/heads/master 

Según el pedido de Mark Longair, mi comentario anterior ahora se reproduce como una respuesta.

Con las versiones recientes de git, puede emitir el nombre de la twig de seguimiento remoto para su sucursal actual con git rev-parse --symbolic-full-name @{u} . Emite algo así como refs / remotes / origin / master.

Si vas un paso más allá y usas el --abbrev-ref , como en git rev-parse --symbolic-full-name --abbrev-ref @{u} , git rev-parse --symbolic-full-name --abbrev-ref @{u} refs/remotes/ bit y te deja solo el nombre de la twig corta, como origin/master .

 git config --global alias.show-upstream '!sh -c '\'' test -n "$1" || set -- HEAD set -- "$(git rev-parse --symbolic-full-name "$1")" git for-each-ref --format="%(upstream:short)" "$1" '\'' -' git show-upstream git show-upstream HEAD git show-upstream some/local/branch 

A partir de git 1.8.3 ahora puede hacer esto:

 git branch -vv 

Muy conveniente, ya que muestra la twig de seguimiento para todas las sucursales locales a la vez, pero no es adecuado para secuencias de commands.