2010-09-28 14 views
5

Aparentemente, algunos de mis errores de solución de errores pasaron a ser eliminados durante una fusión reciente de la antigua rama en nueva. Encontré la confirmación en los registros y tengo la ID (403357cab89465ce68001762d35fe27b57aeec65). Ahora solo quiero restablecer ese compromiso con la rama de trabajo actual para poder primero diferir esos cambios pero probablemente los vuelva a comprometer. ¿Cómo puedo hacer esto?¿Restaurar una confirmación previa de git?

git checkout 403357cab89465ce68001762d35fe27b57aeec65

no funciona.

Y dicho sea de paso, la confirmación implicó la edición de varios archivos.

Respuesta

12

Realice un git cherry-pick sha1 y aplicará esa confirmación en la parte superior de su HEAD actual.

+0

oh wow, que básicamente tomó la confirmación y la conectó de nuevo! gracias, pero esperaba ver los cambios primero para poder distinguirlos, verificar que los necesito, etc. antes de decidir comprometerme. – Doug

+1

Puede hacer 'git reset HEAD ^' ahora para dejar los cambios en su copia de trabajo pero eliminar la confirmación (suponiendo que no haya presionado). Además, puede marcar una respuesta como aceptada en el sistema aquí haciendo clic en la marca de verificación :) – Daenyth

+0

Esto era exactamente lo que necesitaba recuperar de una tubería rota en una combinación de maestro en sentido ascendente. ¡Gracias! – Brian

Cuestiones relacionadas