Estoy tratando de enviar una nueva rama local product-0.2
a remota donde ya hay una etiqueta con el mismo nombre (pero la rama en sí no existe)
git push -v --tags --set-upstream origin product-0.2:product-0.2
Pushing to https://****@github.com/mycompany/product.git
error: src refspec product-0.2 matches more than one.
error: failed to push some refs to 'https://****@github.com/mycompany/product.git'
Lo mismo con:
git push origin product-0.2:/refs/heads/product-0.2
Aunque funciona al revés, por ejemplo, crea una rama product-0.1
, confímate y luego aplica una etiqueta product-0.1
.
Algunas personas solucionan esto eliminando la etiqueta en conflicto localmente, luego empujan la rama y luego recuperan la etiqueta remota, pero parece engorrosa y propensa a errores.
¿Cómo puedo crear mi rama con el mínimo esfuerzo?
Gracias por tu contribución
git
git-branch
youri
fuente
fuente
refs/heads/product-0.2:refs/heads/product-0.2
, es decir, sin la barra inclinada inicial, y también con la especificación de referencia completa en el lado local.Respuestas:
El siguiente comando debería funcionar.
fuente
refs/remotes/remote_name/remote_branch
master
y ya no podía empujar a la sucursal con el mismo nombre.git push origin refs/heads/master
hizo el truco (luego eliminé esa etiqueta para que dejara de suceder).Verifique qué etiquetas están asociadas con su rama:
En mi caso, tenía una etiqueta con el mismo nombre de la sucursal. Eliminarlo funcionó:
fuente
Cambie los nombres.
Ya sea que lo haga de forma local o remota, simplemente cambie los nombres.
Una etiqueta y una rama son fundamentalmente lo mismo en git: representan un puntero a una confirmación. La diferencia es que un puntero de rama avanza a medida que realiza confirmaciones, mientras que una etiqueta permanece estática.
Sin embargo , puede realizar una
git checkout
en una rama o en una etiqueta. ¿Por qué pelearías con todos estos nombres duplicados? Cámbialos.fuente
product-0.2.0
con el último dígito para el 'nivel de parche', pero aún así, teníamos la convención de nomenclatura en su lugar y no tuvimos problemas en el pasado cuando la rama se creó antes de la etiqueta.Si está intentando enviar una etiqueta que tiene el mismo nombre de una rama:
fuente
Estaba tratando de enviar a un repositorio canónico esta mañana y obtuve el siguiente error:
Esto sucedió porque accidentalmente había creado una etiqueta maestra localmente:
Una vez que eliminé esta etiqueta localmente:
Pude empujar de nuevo.
fuente
Esto falló:
Si bien esto funcionó para mí:
fuente
Si está utilizando el árbol de fuentes, siga los siguientes pasos.
Intente nuevamente impulsar sus cambios. ahora esto funcionará.
fuente