[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Duda con Git



El 12/12/13 15:22, juan.mejias@reduc.edu.cu escribió:

Saludos Mauro. Para lograr lo que quieres utiliza
git checkout <head del commit 6>
Con eso pasarás a ese commit (suponiendo que estés ya en el branch master). A partir de allí, tienes que hacer un nuevo branch para seguir con tu proyecto.
git branch <nombre del nuevo branch>
git checkout <nombre del nuevo branch>
Una vez dentro de ese branch, el otro (master) no se enterará de lo que hagas. Si en algún momento quieres volver al master sólo tienes que hacer
git checkout master
y seguir con normalidad. espero que resuelvas con eso.
Muchas grcias! Lo voy a probar.

Pero si lo que quiero es que el commit 6 sea mi nuevo master? Osea, la idea de esto surge al pensa que del commit 7 en adelante se hayan hecho cambios que en algún momento (por ejemplo en el commit 10) dan lugar a un error catastrófico y resulta entonces mejor al commit 6, pero dejando en algún lugar los commits 7 a 10 por si se desea "sacar" algo de ellos en algún momento. Me explico?

Saludos y muchas gracias!

Mauro.

El 2013-12-12 09:57, Mauro Antivero escribió:
Estimados, desde hace un buen tiempo que uso Git como CVS en cualquier
proyecto o incluso en diretorios de configuración importanes.
Afortunadamente muy rara vez he tenido la necesidad de volver a un
commit anterior, pero cada vez que lo tengo que hacer me surge la
misma duda. Vamos con un ejemplo...

Supongamos que tengo este historial de commits:

1-->2-->3-->4-->5-->6-->7-->8-->9-->10 (Master)

Cada uno con su head correspondiente.

Estoy entonces en el commit 10 (osea ya hice git commit -a -m "10")
pero me doy cuenta que tengo que volver atrás, por ejemplo al commit
6. Hasta ahora el comando que usé es:

git reset --hard <head del commit 6>

Con lo cual me queda lo siguiente:

1-->2-->3-->4-->5-->6 (Master)

Es decir, volví al commit 6 pero perdí todo lo que le sigue.

Lo que me gustaría saber es si hay una forma de hacer que quede lo siguiente:

1-->2-->3-->4-->5-->6 (Master)
\-->7-->8-->9-->10

Osea, que mi rama master quede en el commit 6 pero que los commits
posteriores no se pierdan, sino que queden en otra rama por las dudas
que más adelante los necesite.

O más simple, volver atrás (y quedarme allí) pero que los commits
posteriores al punto al cual estoy volviendo no se pierdan. Me explico
bien?

Estimo que tiene que haber una forma, pero curiosamente en muchas
páginas solo encuentro como descartar cambios para los cuales aún no
se ha hecho el commit, usando git checkout, pero eso no es lo que
necesito.

Saludos y muchas gracias.

Mauro.




Reply to: