Restaurar archivos

22 views
Skip to first unread message

Paolo Loran

unread,
Jan 1, 2014, 5:40:39 PM1/1/14
to git-ar...@googlegroups.com
Buenas a todos,
les consulto lo siguiente, realice un nuevo branch llamado develop a partir del master, luego salte a la rama develop, realice modificaciones, pero me di cuenta que los cambios son incorrectos, ahora como hago para restaurar al punto anterior?
probe con git reset --hard y el nombre del commit anterior, con lo cual me informo algo asi como:

HEAD is now at 8209463 Configurar correo riseup - #4

pero cuando voy a ver el código veo archivos posteriores que no se borraron, como realizo el cambio, eliminando los archivos posteeriores al commit?

Abrazo
Poli

Mariano Verdú

unread,
Jan 3, 2014, 5:31:15 AM1/3/14
to git-ar...@googlegroups.com
Si los cambios que no pudiste deshacer aún son archivos que antes no estaban, creo que una buena alternativa es hacer 'git rm' de los archivos involucrados y luego el commit.

No recuerdo de donde traigo esto, pero lo oí muchas veces: "Borrar 'historia', bajo git, es jugar con fuego."


My 2 cents, saludos o/


--
Has recibido este mensaje porque estás suscrito al grupo "Git Argentina" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a git-argentin...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.



--
Mariano

Paolo Loran

unread,
Jan 3, 2014, 6:43:24 AM1/3/14
to git-ar...@googlegroups.com
Gracias Mariano, aunque con lo que me decis de que borrar historia es jugar con fuego, no veo el provecho de utilizar git, si ante una eventualidad no puedo retroceder en el tiempo, quedandome todo igual a como estaba, se entiende?

Paolo

Sebastian

unread,
Jan 3, 2014, 7:20:47 AM1/3/14
to git-ar...@googlegroups.com
En general lo mejor es crear un commit que revierta el o los commits que no quieras, pero reescribir la historia te pone en situaciones más complicadas porque estás eliminando versiones que existieron.

Damian Vicino

unread,
Jan 3, 2014, 7:41:32 AM1/3/14
to git-ar...@googlegroups.com
te paras en el branch que queres volver para atras.
tiras git log para ver que commit es el que queres revertir.
git revert #commit
si es mas de un commit lo que queres volver.
git revert #commit..#commit
eso te vuelve a donde estabas, o mejor dicho te revierte los cambios
de los commits que te molestan, si pones que sean desde HEAD..#commit,
es volver a lo que tenias antes de #commit.
Si lo que queres revertir es un merge, ahi tenes que decir ademas
porque rama queres seguir (porque juntas 2) con -m#rama el 1 es la
primera que seria donde estabas parado, si queres volver por la 2, 3,
4, etc.. podes pero eso es mas bizarro.
el problema particular con los merge es que si vos hiciste un merge
"fast-forward" este no genera commit, entonces tenes que marcar todos
1 por 1 los que mergeaste, para evitar esta situacion podes forzar a
git a que siempre que hagas merge cree un commit, que revertiendo el
commit de merge te vuelve al caso de no haber mergeado. Para
configurarlo que sea asi podes hacerlo con un parametro en el merge
--no-ff, o podes ponerlo en .git/config, no me acuerdo la linea exacta
pero si buscas "configurar no fast forward" seguro te sale al toque en
cualquier buscador o incluso en man.
Saludos
Damian

--
http://dfbsd.trackbsd.org.ar


2014/1/3 Sebastian <sepp...@gmail.com>:

Paolo Loran

unread,
Jan 3, 2014, 9:08:04 AM1/3/14
to git-ar...@googlegroups.com
Lo de revertir funcionó, ya que los archivos modificados volvieron para atrás, pero no se eliminaron los archivos nuevos que habia creado.

Damian Vicino

unread,
Jan 3, 2014, 9:27:40 AM1/3/14
to git-ar...@googlegroups.com
SI queres borrar todo lo que este sin versionar o sin ignorar, podes
hacer: git clean

--
http://dfbsd.trackbsd.org.ar


2014/1/3 Paolo Loran <paolo...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages