2011-10-30 30 views
63

en el cubo con Git que volver a agregar la etiqueta haciendo:git tag eliminar y volver a añadir

git tag -d 12.15 
git push origin :refs/tags/12.15 
git tag -a 12.15 -m '12.15' 
git push --tags 

La etiqueta todavía se está refiriendo a la vieja etiqueta en GitHub, pero localmente se hace bien.

ACTUALIZACIÓN: Parece que github está enumerando la última confirmación incorrecta, pero descargándola correctamente.

+13

'git tag -d' borra una etiqueta. En realidad, lo que vine a buscar aquí ... :) –

Respuesta

65

La referencia es https://stackoverflow.com/a/5480292/1317035

Sólo tiene que empujar una referencia 'vacío' al nombre de la etiqueta a distancia:

git push origin :tagname 

O, más expresivamente, utilice la opción --delete:

git push --delete origin tagname 

Empujar una rama, etiqueta u otra referencia a un repositorio remoto implica especificar "¿dónde, qué origen, qué destino?"

git push where-to-push source-ref:destination-ref 

Un ejemplo del mundo real en el que empuja su rama principal a la rama principal del origen es:

git push origin refs/heads/master:refs/heads/master 

que por rutas predeterminadas, puede ser acortado a:

git push origin master:master 

Etiquetas funciona de la misma manera:

git push refs/tags/release-1.0:refs/tags/release-1.0 

Al omitir la referencia de origen (la parte anterior a los dos puntos), presiona "nada" hasta el destino, eliminando la referencia en el extremo remoto.

+3

buena información acerca de por qué agregar ':' funciona ... gracias .. –

+0

@guymograbi puede encontrar más información aquí http://git-scm.com/docs/git- push # OPCIONES – nickleefly

Cuestiones relacionadas