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.