Actualmente tengo una configuración remota de git como la siguiente:
[remote "upstream"]
url = <redacted>
fetch = +refs/heads/*:refs/remotes/upstream/*
Cuando publico git pull
en branch master, todos los cabezales remotos se obtienen en remotes / upstream, luego remotes / upstream / master se fusionan en master. Cualquier etiqueta que se pueda alcanzar también se obtiene al mismo tiempo, lo cual es muy conveniente.
También me gustaría git pull
buscar todas las etiquetas desde el control remoto, no solo aquellas a las que se puede acceder directamente desde las cabezas. Originalmente intenté seting tagopt == --tags
, pero descubrí que esto solo causaba que las etiquetas fueran recuperadas y, por lo tanto, rompía todo. (Junio incluso dice que es una mala configuración horrenda ).
¿Hay alguna manera de hacer que git pull
todas las etiquetas remotas se recuperen de forma predeterminada, además de los cabezales remotos?
git push origin <tag_name>
tagopt
solución ya no es una configuración incorrecta; a partir de 1.9 / 2.0 (Q1 2014) esto buscará todas las etiquetas además de lo que normalmente se obtiene.Respuestas:
Debería poder lograr esto agregando una refspec para las etiquetas a su configuración local. Concretamente:
fuente
Un simple
git fetch --tags
funcionó para mí.fuente
git ls-remote
.La
--force
opción es útil para actualizar las etiquetas locales. Principalmente si tienes etiquetas flotantes:La opción git pull también tiene las
--force
opciones, y la descripción es la misma:pero, según el documento de
--no-tags
:Si esa declaración predeterminada no es una restricción, entonces también puede intentar
fuente
git pull --force
no incluyegit fetch --tags --force
Para mí, lo siguiente parecía funcionar.
fuente
git fetch --tags
. Quería dar una respuesta alternativa. pull = buscar + fusionar. Así que buscar también sucede.Es sencillo. Hacer un
fuente
Lo uso con magit en kernel.org
fuente