Reescritura de historial de Git en Bitbucket CABEZAL -> twig (gancho de pre-recepción rechazado)

En Bitbucket, usando la interfaz web Bitbucket, sincronicé un repository bendecido con mi propio fork privado por error. Quería reescribir la historia en el bendito repository para devolverlo al compromiso correcto.

Cloné el repository bendito que contenía mis commits incorrectos y ejecuté localmente

git reset --hard HEAD~1 

en la twig cuya historia fue jodida.

Esto trajo el repo clonado a la confirmación en la que estaba antes de que lo arruiné.

Luego fui a empujar mi repo de vuelta a Bitbucket usando

 git push -f origin development 

pero obtuve el siguiente error

 remote: permission denied to force push branch development To git@bitbucket.org:blessed-repo/blessed-repo.git ! [remote rejected] HEAD -> development (pre-receive hook declined) error: failed to push some refs to 'git@bitbucket.org:blessed-repo/blessed-repo.git' 

¿Por qué recibí este error y cómo puede hacer git push funcione el git push ?

En Bitbucket, es posible limitar las potencias de inserción para evitar que los usuarios empujen hacia una twig directamente.

De los documentos anteriores …

Los usuarios son libres de interactuar con una sucursal en su clon local. Cuando intentan presionar al control remoto Bitbucket, los usuarios que no tienen permiso para ingresar a la sucursal reciben un post de que el control remoto rechazó la inserción.

Puede ver cómo esto sería útil para imponer flujos de trabajo típicos.

Para habilitar el envío directo a una sucursal en un repository

ir

Repo> Configuración> Administración de sucursales> Prevenir el historial vuelve a escribir (rebase) en estas twigs

luego retire la twig a la que está empujando.

Esto le permitirá ejecutar git push origin +HEAD

Luego debes volver a agregar la twig a la list para evitar empujones aleatorios al repository.