Remoto rechazado (actualización superficial no permitida) después de cambiar la URL remota de Git

Tengo un proyecto bajo el control de la versión Git que trabajé tanto en un server como en mi computadora local. Originalmente tenía el origen remoto configurado como mi computadora local, pero ahora me gustaría cambiarlo a BitBucket.

En el server, utilicé el command

git remote set-url origin bitbucket_address 

Pero ahora, cuando bash impulsar mi proyecto, obtengo el error

  ! [remote rejected] master -> master (shallow update not allowed) 

¿Qué está causando esto y cómo lo soluciono?

Como parece, has usado git clone --depth <number> para clonar tu versión local. Esto resulta en un clon superficial . Una limitación de dicha clonación es que no puede pasar de ella a un nuevo repository.

Esto significa que debe desalojar su repository. Para hacerlo, necesitará agregar su control remoto anterior de nuevo.

 git remote add old <path-to-old-remote> 

Después de eso, usamos git fetch para recuperar el historial restante del control remoto antiguo (como se sugiere en esta respuesta ).

 git fetch --unshallow old 

Y ahora debería poder ingresar a su nuevo repository remoto.


Nota : Después de silenciar tu copy, obviamente puedes volver a quitar el control remoto anterior.

En caso de que su repository sea de origin , y el repository original sea en upstream :

 git fetch --unshallow upstream