Pregunta:
Así que tenemos una rama en nuestro repositorio de git llamada creative_market
. git checkout --track origin/creative_market
el comando git checkout --track origin/creative_market
que funciona bien. Todos los cambios que deberían estar en la rama creative_market
están presentes. Sin embargo, si ejecuto git pull
este error:
Su configuración especifica fusionarse con la referencia 'creative_market' desde el control remoto, pero no se obtuvo dicha referencia.
Además, si hago git pull origin creative_market
, obtengo:
fatal: no se pudo encontrar la referencia remota creative_market
fatal: el extremo remoto colgó inesperadamente
Ejecutar una git branch -a
muestra claramente:
remotes / origin / creative_market
Y mi archivo .git/config
muestra:
[branch "creative_market"]
remote = origin
merge = refs/heads/creative_market
Que se alinea con todo lo demás en mi archivo .git/config
.
Estoy perplejo aquí. ¿Algunas ideas?
Respuesta:
El mensaje que recibe puede indicar que la rama creative_market
ya no existe en el repositorio remoto. ¿Podría este ser el caso?
Puede solucionarlo con los siguientes comandos:
git checkout --track origin/creative_market
git push origin creative_market
Otra forma, un poco más larga, de demostrar lo que está sucediendo es hacer lo siguiente:
Primero, haga una referencia de respaldo con el comando git branch creative_market2 origin/creative_market
. Luego, ejecute git fetch -p
para eliminar las ramas de seguimiento remoto que ya no existen en el control remoto. Si la rama se eliminó del control remoto, verá algo como lo siguiente:
[my-repository]$ git fetch -p
x [deleted] (none) -> origin/creative_market
Para volver a crear la rama en el repositorio remoto, simplemente ingrese su referencia local:
git push --set-upstream origin creative_market2:creative_market