git heroku repository reset

git - heroku dashboard login



Limpiar git repo en Heroku (5)

Instale el complemento Heroku Repo y utilícelo para restablecer el repositorio git remoto.

Primero borre el repositorio git en el servidor:

> cd /my-project/ > heroku plugins:install heroku-repo > heroku repo:reset

Luego, reinicie su repositorio local de git eliminándolo y volviéndolo a crear:

> cd /my-project/ > rm -rf .git > git init > heroku git:remote -a <appname>

Donde <appname> es el nombre de su aplicación en heroku.

Los 2 repos (local y remoto) ahora deben estar vacíos y sincronizados.

La situación es la siguiente:

Tenemos un proyecto que persiste en Github y lo implementamos en Heroku, que tiene su propio mini-Git. Algunos cambios se aplicaron directamente a Heroku (repositorio clonado de Heroku, se realizaron cambios y se presionaron). Mientras tanto, la rama maestra en Github también ha ganado algunos cambios.

Ahora, cuando quiero enviar el repositorio principal a Heroku, la inserción falla porque las confirmaciones en Heroku no están sincronizadas con las confirmaciones locales.

No quiero fusionarme con los cambios en Heroku, solo quiero que desaparezcan.

¿Hay alguna forma de limpiar el repositorio de git en Heroku para impulsar mi repo local desde el principio?

No quiero destruir la aplicación y volver a crearla porque tiene algunos servicios de pago y solo soy un colaborador.



Si tu empuje de Heroku está fallando porque no es un compromiso de avance rápido, y no estás tratando de hacer nada raro con tu historial, es muy simple:

  1. Asegúrese de que su repositorio que no sea de Heroku esté definido como un control remoto.
  2. Busca todos los controles remotos.
  3. Combine su otro repositorio en su clon Heroku local usando la estrategia recursiva con la opción de estrategia "ellos".

    git merge -X theirs remotes/origin/master

  4. Empuje con la opción --force para hacer un compromiso de no avance rápido a su repositorio Heroku ascendente.

Por otro lado, si realmente estás tratando de purgar el historial, tienes otras opciones.

  • Elimine todos menos el primer compromiso de su historial (el más fácil).

    git reset --hard $(git log --pretty=oneline | tail -n1 | cut -d '' '' -f1) git push --force

  • Crear una rama maestra vacía .
  • Utilice git-filter-branch .

Personalmente, recomendaría mantener su historial y solucionar el problema del avance rápido como una mejor práctica, pero ciertamente tiene opciones si desea modificar su historial de manera agresiva. Git es muy flexible en ese sentido.


Solo puedes usar el indicador -f en git (es un indicador estándar de git) para forzar el empuje. Vea la nota al margen en el documento Dev Center Git . Esto sobrescribirá los cambios que has hecho en Heroku, obviamente.


También puede simplemente utilizar el sistema de control de versiones de la aplicación de heroku. Al ir a "Actividad", tiene el historial completo del proyecto: retroceda a la primera actividad y el repositorio debe limpiarse completamente, volviendo a su estado cuando la aplicación se creó originalmente en Heroku.