160 votos

¿Conseguir empujó también git Etiquetas?

Puesto que he creado mi repositorio parece que yo he sido la creación de las etiquetas no son empujadas al repositorio. Cuando hago git tag en el directorio local todas las etiquetas están presentes, pero cuando inicie sesión en el repositorio remoto y una etiqueta de git, sólo los primeros aparecen.

¿Cuál podría ser el problema?

211voto

eevar Puntos 1005

Puedes hacer esto:

git push --tags

130voto

Jakub Narębski Puntos 87537

En defecto de git remoto de configuración para empujar etiquetas explícitamente (mientras se recuperan automáticamente junto con el cometa se elija). Usted necesidad de utilizar

$ git push <remote> tag <tagname>

para empujar una sola etiqueta, o

$ git push <remote> --tags

para empujar todas las etiquetas.

Esto es en gran parte la intención de comportamiento, para hacer empujando etiquetas explícito. Empujando las etiquetas deben ser generalmente una elección consciente.


Alternativamente, usted puede configurar el control remoto usted puede presionar para siempre empuje con todas las etiquetas, por ejemplo, poner algo así como que en su .git/config:

[remote "publicar"] # o sea lo que se denomina
 url = ...
 empuje = +refs/heads/*:refs/heads/*
 empuje = +refs/tags/*:refs/tags/*

Esto significa que la fuerza de empuje de todos los jefes (todas las ramas) y todas las etiquetas (si usted no quiere fuerza de empuje de los jefes, quitar '+' prefijo de refspec).

52voto

VonC Puntos 414372

Tenga en cuenta que desde git 1.8.3 (abril 22d, 2013), ya no tiene que hacer 2 comandos para empujar las ramas, y, a continuación, empujar las etiquetas:

El nuevo "--follow-tags" opción dice "git push" para empujar relevantes anotado etiquetas al empujar las ramas.

Ahora se puede tratar, empujando a los nuevos commits:

git push --follow-tags

Que no presionan todos los locales de etiquetas sin embargo, sólo el uno hace referencia compromete a que son empujados los git push.


Este ha sido introducido en cometer c2aba15 por Junio C Hamano (gitster):

La nueva opción "--follow-tags" dice "git push" para llevar anotadas las etiquetas que faltan en el otro lado y que puede ser alcanzado por la historia que de otro modo es empujado hacia fuera.

Por ejemplo, si usted está utilizando el "simple", "current", o "upstream" push", que generalmente puede empujar la historia que conduce a la confirmación en su actual HEAD y nada más.
Con esta opción, usted también debe empujar a todos los anotados etiquetas que puede ser alcanzado desde que se comprometen para el otro lado.

18voto

mat Puntos 5365

Lo que suelo hacer es:

[remoto "publicar"] # o lo que es llamado
    url =...
    empuje =:
    empuje = + Ref/Etiquetas / *: refs/Etiquetas / *

Lo que significa que empuja cada rama que ya está allí, además de etiquetas. No fuerza empuje y que no empujar rama que usted no empuja manualmente.

2voto

boryn Puntos 81

Y si quieres a fuerza de buscar las etiquetas, se puede establecer en la configuración:

git config remote.origin.tagopt --tags

A partir de la documentación:

Establecer este valor a " --no-etiquetas se deshabilita la etiqueta siguiente al recuperar de forma remota . Ajuste --etiquetas obtendrá todas las etiquetas de forma remota , incluso si no son accesibles desde la rama remota cabezas. Pasando estos indicadores directamente a git fetch(1) puede anular este configuración. Ver opciones --etiquetas y --no-etiquetas de git fetch(1).

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: