tag remove practices crear commits commands best git

remove - git tag commits



Obteniendo todas las etiquetas desde un control remoto con git pull (4)

Actualmente tengo una configuración remota de git como la siguiente:

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

Cuando git pull en Branch Master, todos los head remotos son captados en remotes / upstream, luego remotes / upstream / master se fusionan en master. Las etiquetas que se pueden alcanzar también se obtienen al mismo tiempo, lo cual es muy conveniente.

Me gustaría que git pull además, todas las etiquetas del control remoto, no solo aquellas que son directamente accesibles desde los cabezales. Originalmente intenté tagopt == --tags , pero encontré que esto solo causaba que las etiquetas fueran recuperadas y así rompió todo. (Junio ​​incluso dice que es una terrible desconfiguración ).

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


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/*


Es sencillo. Haz un

git fetch --todos


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

git fetch --tags --force

La opción de extracción de git también tiene las opciones de fuerza, 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 derivación remota de la que proviene sea un descendiente de. Esta opción anula esa verificación.

pero, según el documento de --no-tags :

De forma predeterminada, las etiquetas que apuntan a objetos que se descargan del repositorio remoto se recuperan y almacenan localmente.

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

git pull --force


Una simple git fetch --tags funcionaron para mí.