tener - Git-¿Podemos recuperar los compromisos eliminados?
¿qué podemos hacer con git diff? (3)
Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo puedo recuperar un commit perdido en Git? 3 respuestas
Estoy sorprendido, no pude encontrar la respuesta a esto en SO.
¿Podemos recuperar / restaurar las confirmaciones eliminadas en git?
Por ejemplo, esto es lo que hice:
# Remove the last commit from my local branch
$ git reset --hard HEAD~1
# Force push the delete
$ git push --force
Ahora, ¿hay una manera de recuperar la confirmación que se eliminó? ¿Git registra (registra) la eliminación internamente?
Para volver a ese compromiso, puede utilizar el reflog para buscar su referencia.
Los registros de referencia, o "registros", registran cuándo se actualizaron las puntas de las sucursales y otras referencias en el repositorio local.
Ejecute este comando:
git reflog
Escanee las primeras entradas y encuentre la confirmación que se perdió. Lleve un registro del identificador de ese compromiso (puede usar la primera o la segunda columna). Llamemos al identificador "ID".
Si no ha realizado ningún trabajo adicional desde que realizó el restablecimiento, puede hacer lo siguiente:
git reset --hard ID
git push -f origin master
Si ha realizado otro trabajo desde el reinicio, puede hacer una selección si regresa a su sucursal de esta manera:
git cherry-pick ID
git push origin master
Prueba git reflog
, también conocido como git reflog
referencia, te permite volver al historial en tu repositorio local.
Sí, usted puede encontrar su compromiso en el uso de reflog
:
git reflog
para mostrar todas las confirmaciones que se crearon / se crearon en su repositorio - después de esto, debe finalizar la verificación para eliminar la confirmación mediante el comando de pago
git checkout <your commit-SHA>
o póngalo en picado por
git cherry-pick <your commit-SHA>