Modificando un Compromiso Previo de la Torre Git

Tengo un repository local al que tengo que volver y cambiar el compromiso. La razón por la que necesito hacer esto es porque en la confirmación había agregado un file que se eliminó en la confirmación y que no es lo que quiero hacer después de todo. Quiero mantenerlo allí con el nombre original.

La siguiente explicación está trabajando fuera de mi twig de desarrollo localmente para mi repository local.

La confirmación inicial fue de todos los files en la installation pnetworkingeterminada de Laravel 5.2. Siempre me han dicho que cambie el file .env.example a .env pero de lo que no era consciente también es una buena idea include este file como está, de modo que si alguien lo va a copyr, entonces saben qué entorno variables que necesitan include en la aplicación.

En mi segundo commit, he cambiado el nombre del file a .env, pero para la twig de desarrollo me gustaría mantener el file en la twig de desarrollo.

¿Cómo puedo volver a ese segundo compromiso y eliminar el hecho de que había borrado ese file?

OK, entonces digamos que el file se llama filename y el commit donde lo abc123 es abc123 . Ejecute lo siguiente: git rebase -1 abc123~ . Esto mostrará su editor con todas sus confirmaciones comenzando con abc123 . En la primera línea, cambie "pick" por "edit", luego cierre su editor. Git reproducirá abc123 , luego se detendrá. En ese momento, recupere su file con la git checkout head~ -- /path/to/filename , luego modifique la confirmación con la confirmación de git commit --amend -C head . Git luego volverá a jugar el rest de tus commits, y deberías estar bien.

Para modificar la confirmación más reciente

 git commit --amend 

Para modificar compromisos previos, y / o más de uno

 git rebase 

Ambos están bien documentados en otra parte y una búsqueda rápida o git help le mostrará la documentation.