eliminar - git delete pushed commit
¿Puedo deshacer un `git clean-fdx`? (10)
¡En realidad sí ! ¡Esto es posible! Pero sin usar los comandos de git.
Todo lo que necesitamos es solo una herramienta de recuperación de archivos como Recuva .
Solo mencione la ruta desde donde se eliminó y deje que recupere los archivos.
También aquí hay algunas notas útiles para usar esa aplicación:
- Le recomiendo que marque esta casilla de verificación antes de restaurar archivos (cuando los archivos eliminados aparecen en la ventana de recuperación):
Advanced Mode
->Options
->Actions
->Restore folder structure
Con esto, todos tus archivos se recuperarán al mantener la estructura de la carpeta, por lo que será mucho más fácil simplemente arrastrar y soltar esa carpeta a la ruta desde donde fue eliminada. - Instalar la herramienta de recuperación en el dispositivo USB es mucho más preferible (debido a la advertencia a continuación)
- Al mencionar dónde restaurar los archivos, evite elegir la misma unidad desde donde se eliminaron los archivos (nuevamente debido a la advertencia mencionada a continuación), ya que el archivo recuperado actualmente podría sobrescribir el otro archivo eliminado que aún no se ha recuperado. La recuperación de archivos en cualquier unidad USB siempre es una buena solución allí.
¡Advertencia! Tan pronto como pierda (borre accidentalmente) cualquier archivo, intente no tocar (agregar / editar archivos) la unidad desde donde se eliminó para aumentar la posibilidad de una recuperación exitosa. De lo contrario, es posible que pierda por completo ese archivo.
Por qué funciona: cuando elimina un archivo, en realidad no se elimina. Simplemente se marca como "eliminado", así que la próxima vez que agregue / actualice archivos en la misma unidad, esos archivos antiguos se sobrescribirán con los nuevos. Pero hasta que se sobrescriban, aún es posible leer (y, por supuesto, recuperar) los archivos.
Estaba siguiendo las instrucciones sobre cómo hacer páginas de github y olvidé moverme a mi subdirectorio de gitub . Como resultado, acabo de desmantelar un directorio completo de documentos con git clean -fdx
. ¿Hay alguna manera de deshacer este terrible error?
Afortunadamente, cometí este error al usar Windows 7. Fui a reciclar la papelera, destaqué todos los archivos eliminados y hice clic en "Restaurar". Hecho.
Como @kusma mencionado anteriormente, si tienes suerte (si alguna vez hiciste "git add"), entonces puedes usar lo siguiente para extraer el objeto completo:
git fsck | awk ''{print $3}'' | xargs git show | tee searchresults.log
De esta forma, buscará todos los tipos de fragmentos, recopilará los diffs completos y agregará a un archivo que puede extraer el archivo perdido. En mi caso, había perdido toda una clase de Java.
IntelliJ / Android Studio permite restaurar archivos de la historia local .
No. "git clean -fdx" eliminará todos los archivos y directorios que git no rastree desde su directorio de trabajo. Debido a que Git no rastrea estos archivos, no tendrá ninguna copia de seguridad de estos archivos. Al menos no usualmente
Si has hecho un ''git add'' en uno de estos archivos hace relativamente poco tiempo (pero has cancelado la confirmación), existe la posibilidad de que puedas encontrarlo con ''git fsck --lost-found''. Vale la pena intentarlo, pero no hagas demasiadas ilusiones.
En el futuro deberías considerar comprometerte unas pocas veces con demasiada frecuencia que pocas veces también muy pocas veces. De esa manera, al menos tendrá una copia de seguridad local, incluso si no termina presionando estos commits en un control remoto.
No. Esos archivos ya no están.
(Acabo de verificar en Linux: git clean llama a unlink()
, y no hace copia de seguridad de nada de antemano).
Si está trabajando en Eclipse, una de las posibles soluciones es restaurar desde la historia local de Eclipse.
Si está usando git con MSBuild, creé un objetivo que copia todos los archivos y luego git clean -xdf
. De esta forma, puede restaurar el archivo fácilmente si se da cuenta de que ha eliminado algo que no desea eliminar. Eche un vistazo aquí: http://blog.3d-logic.com/2012/11/04/safe-git-clean-with-msbuild/
Tuve este problema hoy.
Como han dicho otros, git no guarda los archivos.
La única forma de deshacer esto es con una utilidad de recuperación. Utilicé "extundelete" y recuperé todo, pero su kilometraje / sistema de archivos puede variar.
git clean -fdxn
Hará una ejecución en seco , y le mostrará qué archivos se eliminarán si ejecuta
git clean -fdx
(por supuesto, esto solo es útil si sabes esto por adelantado, pero para la próxima vez)