recuperar git commit nunca empujado

Estaba trabajando diligentemente en una gran refacturación de algún código, tenía una necesidad inmediata de resolver una corrección en la base de código actual; Pensé que hice un commit en una twig llamada 'refactorizado' e hice un cambio a mi twig principal para reiniciar y bifurcar nuevamente. Al hacerlo, nunca empujé el compromiso a remoto y parece probable que mi reinicio comiera el trabajo que había hecho. He intentado encontrar el commit sin cabeza usando el reflog, pero tengo problemas para encontrarlo. ¿Hay alguna manera de que pueda search de manera más efectiva todos los files que git conocía (¡alguna vez!) Para poder encontrar este trabajo. Hay numerosos files que ciertamente se "agregaron" a git y nunca estarían en otra twig o revisión. Ayuda! ~! 🙂

Con la ayuda infundida, pude get una list de los files que necesito recuperar, pero estoy un poco inseguro de cómo proceder sin research aún más.

git fsck --lost-found 

Resultados en:

 Checking object directories: 100% (256/256), done. Checking objects: 100% (776/776), done. dangling blob 8f20a05f00d77c78d10a3918d6d34a2d2c097624 dangling blob 47a10c7617b7cc9f8ba176050c5a3b79c54f102d dangling blob 57716763518cc82585d614fa0a8ee591c8de1153 dangling blob b90129cb7ffe06fe23356e8fe7a1ad3b0e24d984 dangling blob d621cb1156dfdf79163d0072d03cfe5d05254b01 dangling commit 1bc2732eac1a8052dff64de96c7ecf38f11dc9c5 dangling blob 30e2b939f96737af80ac0326b5c5cd39a8de9ce7 dangling blob 4a2a3732e06511a26acd08a663fbfb671fdf0439 dangling blob 57f2ff859a88c069442961baf86b78312b80ab13 dangling blob 72ca95ac4e98e2d30677fe8d611ddcd30225d255 dangling blob 9022ffd961b57d713d20a93dc4cb51f1b94a5918 dangling commit bf1ae36f865ce066220024392dfbcc7a2fa359cf dangling blob ec4272468be0f90f2b4b6416649e98101a20b015 dangling commit 134bf35bd24e7a7f4303279448c7cb0d33adcdb5 dangling blob b833b9c702b43c1682bfcb841ad7f8d87baabfb1 dangling blob c68b9511f2cd058603950ab630cad3b7935074aa dangling blob 3a4caeaa63cf6d73f6071d5a8b4566d84cf55898 dangling blob 755cb36c73fd2d26e10711dc2ec221c039d805e7 dangling blob d914e5a277ac574f0b3ee414166977b8e2331b7b dangling blob dd8c8338a4515b0b3f4b68340dbd10416e444eed dangling blob e4f4d97b4f7c245a2f5b0ff9671404bea7e6ffc7 dangling blob f28c0bd9f0a4d59816bb0e052578e2a64b70feb6 dangling blob 1a557bdf7c6d9bd972b0f38eb074ed7875a632c3 dangling blob 3e0d0c77b6a47ee8f94a0d56416ee1d8833e89f0 dangling blob 81dd04f987303d080977df050b32865cbf29720f dangling blob dd5d8e61e48343487189b1264e711a9d72bc1712 dangling blob e26599b870d9c9e3387e018f2d4467d31c8c5dc2 dangling blob 0607498a73ca5faf3b77a7c77107e7787c0f224f dangling blob 251f0d0bea520723ccf15466cf9f047d0d94d48f dangling blob 4ecfc189d8c61ff8033e02731bb88005e19f1ca9 dangling blob 6c87b890fc2ff4f13d5a6ffd15355b3c7a9be269 dangling blob bbaf45e48c21e2877c90a3864507ad56c52f6afe 

Utilizando:

 git show 8f20a05f00d77c78d10a3918d6d34a2d2c097624 

Así que la solución final fue canalizar la salida de git show a un file para cada blob.

 git show <SHA> >> ~/recovenetworking/fileName.js 

Si se comprometió con la sucursal refactonetworking , debería poder pagar esa sucursal y encontrar sus confirmaciones intactas. Por otro lado, si has asignado el cambio a master y luego has hecho un reinicio completo, deberías poder encontrar el commit usando lost-found . Dependiendo de la versión de git que estés usando:

 git fsck --lost-found 

O

 git lost-found 

Estos commands deben aparecer en una list de commits colgantes en los que puede ejecutar git show para encontrar su commit. Debería ser uno de los artículos principales en la list.