Foros del Web » Programando para Internet » GIT »

Ficheros perdidos

Estas en el tema de Ficheros perdidos en el foro de GIT en Foros del Web. Hola Acabo de descubrir por la via del dolor, que es relativamente facil perder todo tu trabajo a pesar de usar Git. Tras horas al ...
  #1 (permalink)  
Antiguo 12/12/2015, 15:17
 
Fecha de Ingreso: octubre-2012
Mensajes: 38
Antigüedad: 12 años, 2 meses
Puntos: 0
Ficheros perdidos

Hola

Acabo de descubrir por la via del dolor, que es relativamente facil perder todo tu trabajo a pesar de usar Git.

Tras horas al teclado, me decido a subir a mi repositorio git en la red, hago un commit, y veo que... vaya, no tenia seleccionada (checkout) ninguna rama, así que el commit no se a donde va o que pasa con él.

Hago checkout contra la rama que me interesa, para hacerlo bien, y, que genial, al actualizarme a la "vista", estado, de esa rama, mis ficheros en los que estaba trabajando se actualizan y hacen downgrade a lo que tenía, es decir, trabajo perdido.

Supongo que esto no tiene solución ya, pero quisiera entender si hay alternativas a esto. Supongo que si te das cuenta de que te pasa y andas agil, no tocas nada, copipasteas las pestañas que tienes abiertas y salvas su contenido antes de hacer checkout, pero lo que me sorprende es como git te permite hacer commit si no tienes seleccionada rama (sea local o remota, pero algo, no commitar al limbo)

Para mas inri, el historico, parece ser que por no existir estos ficheros en el estado previo que tenia en el repositorio, no salen en historial la inmensa mayoría, por lo que no puedo comparar para rescatarlos.

No entiendo como git deja abierto hacer esto sabiendo que puede darse este error. Mucho dolor se habría evitado previniendo esto :( Si me disculpais me voy a dar cabezazos.
  #2 (permalink)  
Antiguo 13/12/2015, 12:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Ficheros perdidos

Cita:
Tras horas al teclado, me decido a subir a mi repositorio git en la red, hago un commit, y veo que... vaya, no tenia seleccionada (checkout) ninguna rama, así que el commit no se a donde va o que pasa con él.
Más allá de querer subir tu repositorio a otro lugar debiste asegurarte de tener todo en orden localmente: sin ello es difícil entender las razones que comentas.

¿En local tienes tu repositorio en orden o tampoco tienes la menor idea?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 14/12/2015, 14:38
 
Fecha de Ingreso: octubre-2012
Mensajes: 38
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Ficheros perdidos

Pues actualmente no, por que al final salí del paso destruyendo el repositorio local, y clonandome de nuevo desde github (en concreto, trabajo a través de eclipse con egit integrado), perdido un dia, pues bueno, a rechacer toca.

En el momento, si, el repositorio local estaba en orden, y sincronizado con mi humilde github. Sincronizado, es decir, si yo tengo 6 ficheros practicamente con el main subidos a github :) yo lo que habia hecho es trabajar esos ficheros.
Pero yo no tenía checkout en ningúna rama. Lo que sucedió es que fui trabajando, y esto no fue comitado (supongo que primer error). LLegado el momento, hice el commit, y yo diria que el commit se hizo (es lo que digo que ni idea de a donde), pero ya sabreis que en estos casos, puedas ver como el "nombre" del git asociado al proyecto en la perspectiva java, cambia de algo como "master/novato" :) a una secuencia de letras y números (que es lo que a mi me indicó que algo había ido mal) y no se marca la flecha hacia arriba indicando que estás listo para pusjear.

Mi segundo error, al hacer esto, todavía con el código en las pestañas, fue hacer checkout a mi rama, y naturalmente al regresar a la perspectiva java, mis pestañas mostraban lo que git dice que tenian que mostrar, es decir, los ficheros con el main :) En ello la pérdida del trabajo.

No va a ningún lado y solo es código para autoformación, pero quisiera entender por si alguna vez volviera a despistarme, lo que ha sucedido y si tiene alguna solución, por que no me creo que un software como git tan industrializado, esté abieto a que un error humano en esta casuística te haga perder, yo que sé, 8h de trabajo.

¿Que se supone que pasa cuando no has clickado en ninguna branch y haces un commit "al limbo"? (con perdón de la expresión)
  #4 (permalink)  
Antiguo 14/12/2015, 15:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Ficheros perdidos

Cita:
Iniciado por trulari Ver Mensaje
¿Que se supone que pasa cuando no has clickado en ninguna branch y haces un commit "al limbo"? (con perdón de la expresión)
Cada commit ya sea en alguna rama o no generará un SHA1 (los símbolos raros que mencionas) y todos los cambios son accesibles con"git reflog" así que ahí debe estar el código que has perdido.

Y bueno, hasta a mi me ha pasado que algún repositorio se me corrompa localmente: alguna vez estuve trabajando y mi laptop se quedó sin batería, al reiniciar y revisar todo el repositorio se había perdido pero no mis cambios que seguían físicamente en los archivos, etc.

Lo que si fue un grave error de tu parte es no haberte detenido por un minuto a observar si tu repositorio estaba en orden: git funciona excelente si tienes buenos hábitos de uso.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 14/12/2015, 16:42
 
Fecha de Ingreso: octubre-2012
Mensajes: 38
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Ficheros perdidos

git reflog, que interesante, me lo apunto para leer mas sobre eso. Muchas gracias. Lo que he ojeado por encima suena interesante

https://es.atlassian.com/git/tutoria...ory/git-reflog

https://git-scm.com/docs/git-reflog

Etiquetas: ficheros, perdidos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:24.