he editado un archivo y lo hicieron:¿Cómo puedo deshacer mi último git add/commit?
git add file.py
git commit -m 'fixed bug'
luego edité otro archivo y realicé una corrección de errores de menor importancia. No quiero dos confirmaciones, una después de otra, que muestren 'corrección de errores'. Quiero que uno se comprometa con 'correcciones de errores'.
¿Cómo puedo deshacer el último agregar/confirmar y cambiar el primer mensaje de confirmación?
yo estaba buscando en los git reset
, git revert
, git undo
comandos pero no quiero arruinar mi repo con una conjetura
EDIT: Se encuentra la manera de hacerlo: http://www.gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
Con los dos archivos I que edité, ya hice 'git add file; git commit'. Al hacer 'git --amend -m 'asd'' solo editaba mi mensaje de confirmación anterior, ¿no? ¿Dejando el primer compromiso en el registro? – dave
No, '--amend' agrega el contenido del índice a la confirmación recién creada. El compromiso anterior desaparece (se convierte en colgando). Lo más probable es que aún puedas verlo en gitk, ejecutar una recarga (Ctrl + F5) en gitk para hacer que desaparezca. La confirmación colgante desaparecerá de la memoria más adelante ('git gc' debería limpiarla). – Gauthier
¿Cometiste dos veces? En ese caso, puede preceder los comandos anteriores con 'git reset HEAD ^'. Haga una copia de seguridad de su repositorio antes de hacer todo esto (asegúrese de que la carpeta .git está en su copia de seguridad), no quiero ser responsable de la pérdida de datos. – Gauthier