remote - git tags best practices
¿Qué es esta rama de seguimiento(si hay algo) en git? (5)
Gracias por la pista Jefromi
Con el siguiente comando puede obtener la rama de seguimiento remoto para una rama específica.
git config --get branch.<branch>.merge
Para cambiar la rama de seguimiento remoto, simplemente puede cambiar este valor de configuración.
Nota: esta es una forma alternativa de git branch -vv
(ya contestada aquí)
y git branch -u
(¿ Hacer que una rama de Git existente haga un seguimiento de una rama remota? )
Después de crear una rama con --track (o dejar el valor predeterminado, o --notrack), más adelante desea que se le recuerde lo que está siguiendo una rama. ¿Hay alguna otra forma, aparte de buscar en el archivo .git / config, mostrar lo que una rama está rastreando?
Si necesita acceder a esta información de forma automática, deberá evitar intentar analizar la salida de branch -vv
( respuesta de slebetman ).
Git proporciona un conjunto de comandos de nivel inferior con interfaces estables y formatos de salida. Estos comandos (llamados "plomería") son la interfaz preferida para los propósitos de ''scripting''. El comando git for-each-ref puede proporcionar la información requerida a través del token upstream
(disponible en Git 1.6.3 y versiones posteriores):
% git for-each-ref --shell --format=''
b=%(refname:short) u=%(upstream:short)
# Make a fancy report or do something scripty with the values.
if test -n "$u"; then
printf "%s merges from %s/n" "$b" "$u"
else
printf "%s does not merge from anything/n" "$b"
fi
'' refs/heads/ | sh
master merges from origin/master
other does not merge from anything
pu merges from origin/pu
Si quieres saber para una rama determinada, puedes hacer:
git config --get branch.<branch>.remote
Si imprime un control remoto, está rastreando algo. Si no imprime nada y devuelve el error, no lo es.
Tenga en cuenta que con git1.8.3 (22 de abril de 2013) , tiene una nueva forma de enfatizar la rama ascendente:
"
git branch --vv
" aprendió a pintar el nombre de la rama con la que se integra en un color diferente (color.branch.upstream
, que por defecto es azul ).
C:/prog/git/git>git branch -vv
* master 118f60e [origin/master] Sync with maint
^^^^^^^^^^^^^
|
--- now in blue
Utilice: git branch -vv
para ver qué ramas se rastrean y cuáles no.