Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/09/2013, 03:24
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Git y moverse por los commit

La instrucción correcta es checkout, así:
Cita:
git checkout <SHA1>
Es decir, si tengo el hash de un commit af78e6a solo hay que especificarlo sin más:
Cita:
git checkout af78e6a
Lo que si no puedes evitar es que te borre archivos o así, debes entender que al cambiar a un punto atrás en el historial del proyecto es evidente que los archivos mas recientes no estarán presentes.

Vamos, que Git no los borra por que se le da la gana, solo trata de volver a un estado anterior de tu repositorio, y en dicho estado no existían aún dichos cambios más recientes.

Si lo que quieres hacer es, como dices, integrar los cambios del último commit pero volviendo al primero entonces debes hacer cherry-pick después de haber hecho el checkout, con reflog puedes seguir navegando por el historial para verificar y obtener los respectivos hashes.

Algo así:
Cita:
git checkout c3
git checkout -b c3_backup
git reset --hard c1
git cherry-pick c3
Que sería básicamente: crear sobre una copia del commit3, resetear el repositorio hasta el commit1, integrar los cambios de commit3 en la copia del commit1.

Ya después de eso, y si todo sale bien entonces ya puedes integrar el branch como gustes.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.