tag delete git push atlassian-sourcetree

git - delete - "Las actualizaciones se rechazaron porque la etiqueta ya existe" al intentar insertar SourceTree



delete tag git (7)

Cuando intento empujar a través del árbol de origen, aparece el siguiente error:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master Pushing to https://[email protected]/repo.git To https://[email protected]/repo.git = [up to date] master -> master ... ! [rejected] example_tag -> example_tag (already exists) updating local tracking ref ''refs/remotes/origin/master'' error: failed to push some refs to ''https://[email protected]/repo.git'' hint: Updates were rejected because the tag already exists in the remote. Completed with errors, see above

Por lo que sé, no hice ningún cambio en esta etiqueta. ¿Cómo puedo arreglar esto?


Asegúrese de desmarcar el botón "Presione todas las etiquetas" mientras presiona.


Desmarque push all tags en la parte inferior de la interfaz de usuario cuando confirme su empuje git


Sí, de hecho, extraiga las etiquetas antes de push --tags . Resuelto mi problema


Si no ha realizado ningún cambio local en la etiqueta que desea conservar, puede eliminar la etiqueta que fue rechazada porque ya existe ( example_tag en este caso):

  1. Haga clic con el botón derecho en la etiqueta y elija eliminarla (asegúrese de desmarcar la casilla Eliminar etiqueta de todos los controles remotos ).
  2. Elija la opción Recuperar (no es necesario activar y almacenar todas las etiquetas localmente).
  3. Ahora debería tener esa etiqueta que acaba de eliminar, e intentar presionar ya no mostrará ese mensaje de error.

La razón por la que esto es común en SourceTree es porque la opción Insertar todas las etiquetas está activada de manera predeterminada. (Otra forma de ocultar este error es desmarcar esa opción).


También debería poder resolver esto en git bash (haga clic en el botón "Terminal" en la IU del árbol de origen). Tipo:

git pull --tags


git pull --tags funciona muy bien, pero a veces puedes obtener un error incluso con este comando. Mensaje de error de ejemplo:

! [rejected] example_tag -> example_tag (would clobber existing tag)

Esto se puede resolver con el comando: git pull --tags -f

Fuente:

https://github.com/concourse/git-resource/issues/233


Resuelvo el problema en SourceTree de esta manera:

  1. Eliminar la etiqueta con la selección "Eliminar la etiqueta de todos los controles remotos"
  2. Recreando la etiqueta