Pregunta Obteniendo todas las etiquetas desde un control remoto con git pull


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 el maestro de sucursal, todos los jefes remotos se captan en controles remotos / ascendentes, luego los controles remotos / ascendente / maestro se fusionan en el maestro. Las etiquetas que se pueden alcanzar también se obtienen al mismo tiempo, lo cual es muy conveniente.

me gustaría git pull para obtener adicionalmente todas etiquetas desde el control remoto, no solo aquellas que son directamente accesibles desde las cabezas. Intenté originalmente setear tagopt == --tags, pero descubrió que esto solo causaba que las etiquetas fueran recuperadas y, por lo tanto, rompió todo. (Junio ​​incluso dice que es un desconfiguración horrenda)

¿Hay alguna manera de hacer git pull buscar todas las etiquetas remotas por defecto, además de las cabezas remotas?


74
2018-05-21 19:35


origen


Respuestas:


Debería poder lograr esto agregando un refspec para etiquetas a su configuración local. Concretamente:

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*
    fetch = +refs/tags/*:refs/tags/*

53
2018-05-21 19:50



Un simple git fetch --tags trabajó para mi.


137
2018-01-12 22:08



los --force la opción es útil para actualizar las etiquetas locales. Principalmente si tienes etiquetas flotantes:

git fetch --tags --force

La opción de git pull también tiene --force opciones, y la descripción es la misma:

Cuando se usa git fetch con: refspec, se niega a   actualizar la rama local a menos que la rama remota   busca es un descendiente de. Esta opción anula eso   comprobar.

pero, de acuerdo con el documento de --no-tags:

De forma predeterminada, las etiquetas que apuntan a los objetos que se descargan de la   repositorio remoto son recogidos y almacenados localmente.

Si esa declaración predeterminada no es una restricción, entonces también puedes probar

git pull --force

20
2018-01-17 23:11



Es sencillo. Haz un

git fetch --todos


8
2018-03-21 14:27