Es, básicamente, tiene dos opciones para revertir los cambios:
- crear un nuevo commit que se aplica cambios de marcha atrás. Esta es la opción preferida ya que no cambia el historial en un repositorio público
- Elimine las confirmaciones y fuerce empujándolas.
La primera opción se puede lograr mediante el uso de git revert
git-revert - Revert comete alguna existente
Dada una o confirmaciones más actuales, revertir los cambios que los parches relacionados introducen , y grabar algunos commits nuevos que los graban.
Un ejemplo sería git revert -n HEAD~5..HEAD
. Este comando crea 5 nuevas confirmaciones, cada una deshace una de las últimas 5 confirmaciones de la rama actualmente desprotegida.
La segunda opción sería eliminar las confirmaciones. Tenga en cuenta que esto cambia el historial en el repositorio. Por lo tanto, cualquiera que ya haya sacado los cambios probablemente se sorprenda y las cosas se vuelvan complicadas rápidamente.Dicho esto, puede hacer
git reset --hard HEAD~5
git push --force
El primer comando borrará cualquier cambio no confirmado en su copia de trabajo actual. y reinicie su repositorio local al estado de las confirmaciones HEAD - 5 actuales. El segundo comando forzará la pulsación del control remoto predeterminado (es decir, GitHub) Allí, se sobrescribirán los cambios que diverjan de su depósito local actual.
Una advertencia: si no sabe realmente lo que está haciendo, no use esta opción ya que puede ocasionar la pérdida de datos para usted u otros si no se hace correctamente. Use la primera opción en su lugar, ya que eliminará los cambios de forma transparente, pero sin los desagradables efectos secundarios de la reescritura de historial.
¿Necesita esta la etiqueta github? No parece ser específico de Github. – Nick