repositorio remota rama que conectar con cambiar actualizar git

remota - git push



Remoto rechazado(actualizaciĆ³n superficial no permitida) despuĆ©s de cambiar la URL remota de Git (4)

En caso de que su repositorio sea de origin , y el repositorio original esté en upstream :

git fetch --unshallow upstream

Tengo un proyecto bajo el control de versiones de Git que trabajé tanto en un servidor 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 servidor usé el comando

git remote set-url origin bitbucket_address

Pero ahora, cuando trato de impulsar mi proyecto, aparece el error

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

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


Otra opción si desea mantener el repositorio tal como está con las nuevas confirmaciones que ha agregado desde la confirmación inicial superficial es esta: corrija esta confirmación con un rebase interactivo .

  • Inicie un rebase interactivo que incluya la primera confirmación (raíz) con

    git rebase --interactive --root

  • Cambie la pick de las confirmaciones iniciales para edit y guardar y cerrar el archivo.

    Si ha clonado el repositorio con una profundidad mayor que 1, es posible que deba hacer lo mismo para todas esas confirmaciones. O, alternativamente, ejecute la fixup de todos estos durante el rebase interactivo.

  • Convierta esta confirmación en una confirmación regular y no profunda con

    git commit --amend --no-edit

    Esto también cambiará la ID de confirmación y lo agregará como coautor a esta confirmación inicial.

  • No olvides terminar tu rebase

    git rebase --continue


Parece que ha usado git clone --depth <number> para clonar su versión local. Esto da como resultado un clon poco profundo . Una limitación de tal clon es que no puede empujarlo a un nuevo repositorio.

Ahora tiene dos opciones:

  1. Si no le importa su historial actual o faltante, eche un vistazo a esta pregunta
  2. si desea mantener su historial completo, continúe leyendo:

Entonces, quieres mantener tu historia, ¿eh? Esto significa que tienes que deshacer tu repositorio. Para hacerlo, deberá agregar su control remoto anterior nuevamente.

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

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

git fetch --unshallow old

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

Nota : Después de descifrar su clon, obviamente puede eliminar el control remoto anterior nuevamente.


Si desea impulsar el nuevo repositorio tal como está, puede intentar esto:

  • Primero elimine la old git folder de su repositorio actual, sudo rm -rf .git
  • Luego inicialice el git nuevamente git init
  • A continuación, agregue el nuevo repositorio remoto git remote add your-new-repo
  • Entonces empujarlo.