¿Cómo puedo revertir múltiples confirmaciones de Git (ya enviadas) a un repositorio publicado?
Nuevo en Git, y ya está arruinando.
Me he comprometido y empujado algunos cambios a una máquina de desarrollo remoto. Necesito recuperar una versión anterior, pero mantengo el "mal progreso" hasta el momento para seguir trabajando en una rama separada;
Estaba pensando hacerlo así:
Crear una sucursal local llamado: "cosa probada"Revertir repositorio local al estado donde funcionó(Esperemos que las confirmaciones significativas ayuden);Empujar a control remoto
pruebas de acabado en cosa probada
Unir "cosa probada"en devEmpujar a control remotoEntre los pasos 3 y 5, otros desarrolladores pueden comprometerse y presionar, y me temo que esto puede resultar en una "tragedia de fusión". De todos modos, ¿puede ser esta una forma adecuada de hacerlo?
ACTUALIZAR:
El principal problema aquí reside en 2)
Aquí, sobre el tema: "dividir el trabajo en una rama temática"http://learn.github.com/p/undoing.html
Ellos sugieren:
prueba de rama $ git$ git reset - hard a6b4c974Al hacerlo, otros desarrolladores todavía podrían:
$ git commit
(en la rama dev)
y yo puedosalida a prueba y resuélvelo hastaunir hora.
A pesar de todas sus opciones, este parece ser un buen enfoque a seguir. Sin embargo, no se indica si esto se puede hacer después de que hayamos presionado?
Tenga en cuenta lo siguiente:Desde que hice esos cambios y arruino todo,Nadie más ha trabajado en el repositorio hasta ahora.. Entonces, si revierto el directorio de trabajo, nadie lo notará.