Page 2 of 2

Re: Bienvenidos al repositorio público de EasyReport

PostPosted: Fri Aug 15, 2014 6:44 pm
by Antonio Linares
gracias Rafa :-)

Re: Bienvenidos al repositorio público de EasyReport

PostPosted: Fri Aug 15, 2014 7:34 pm
by cnavarro
Rafa, yo uso tambien SouceTree, muy bueno, por cierto
Sobre mi pregunta anterior de cómo actualizar mi Folk una vez he estado trabajando y he realizado modificaciones y al querer actualizar desde el master de Fivetech, me dice que hay algunos o muchos conflictos, qué aconsejas?
Yo he tenido que usar el WinMerge para actualizar los detalles del master que quería actualizar en los prgs de mi Folk, pero me parece que debe haber alguna manera mejor.
Lo del stash no acabo de entenderlo.

Re: Bienvenidos al repositorio público de EasyReport

PostPosted: Sat Aug 16, 2014 4:56 am
by Antonio Linares
Cristobal,

El stash save es como un push. Guardas tus cambios (y los quita) y asi el pull que haces funciona sin conflicto.

Una vez hecho el pull, hay que sacar lo que se guardó con push haciendo pop. Pero no se que opción es, sería como un stash load ó stash restore.

Re: Bienvenidos al repositorio público de EasyReport

PostPosted: Sat Aug 16, 2014 4:43 pm
by thefull
Para resolver conflictos yo uso beyond Compare, pero cualquier otro funcionará igual.

El tema del Stash, es como tener un lugar donde dejar el código que has tocado y no has commiteado. Yo lo llamo el 'purgatorio' con varias habitaciones ;-)
Ese lugar existe para que puedes dejar código y después lo puedes aplicar en cualquier punto del código, puede ser en la misma rama que desarrollas , en otra rama, o crear una rama a partir de esas modificaciones.

Lo más típico de mi trabajo es cambiar continuamente de tarea, y ¿ que hago con mi código que he escrito ? Yo no lo quiero commitear, pues no esta terminado.
Si usas SourceTree el control del stash es muy sencillo, pero vamos a verlo realmente como lo hacen los hombres ;-)

1.- Tenemos nuestro repositorio modificado, y quiero bajarse los cambios de harbour, EasyReport por poner un ejemplo.
2.- Lo primero es hacer un $git stash save "Mis cambios horrendos..."
Esto lo que hace es guarda nuestras diferencias con lo cambios de donde estamos, y le ponemos una pequeños descripción para recordad que es.

3.- Haces un git pull del repositorio remoto.

4.- Ahora , podemos proceder de varias maneras, aunque lo más seguro será que aplicarás lo último del stash;
$git stash pop
Esto aplica tus cambios del stash más reciente a tu código y lo elimina del stash.

4 bis- Ahora, imagina que ese trozo de codigo te va a servir en varias ramas de más, entonces no nos interesa que se elimine;
$git stash apply, lo mismo que el comando anterior, pero sin eliminarlo de la lista.
De esta manera , si hago;
$git checkout rama1
$git stash apply
Acabo de aplicar los cambios a esa rama

4 bis 2
Ahora, si tenemos varios stash en la lista, podemos ver con $git stash list
Esto soltará algo como esto;
stash@{0}: On master: primer stash
stash@{1}: On master: segundo stash

Si quiero aplicar uno de ellos a mi código, en este caso el primer stash;
$git stash apply stash@{0}

5.- Por último, podemos borrar un elemento de la lista de nuestro 'purgatorio':
$git stash drop stash@{1}

Para entender lo grande de esto, manualmente sería, a grandes rasgos, creas una diff del código , lo guardas en un fichero, hacer un reset hard de HEAD, hacer un pull , y aplicar el fichero de diff a la bajada.

La verdad es que puede parecer algo raro, porque esto no existe en ningún otro control de versiones, y la gente se lía la principio, pero piensa que es como si tuvieras una rama en la
cual la tienes para ir dejando y cogiendo trozos de códigos.
Uno de los que me enamoré hace ya 3 años de git , fue esto, y no había clientes gui como ahora ;-)

Ahora con sourcetree, tortuise y demás todo esto sonará a chino, pero ahora puede ver como funciona por debajo.

Re: Bienvenidos al repositorio público de EasyReport

PostPosted: Sat Aug 16, 2014 5:19 pm
by cnavarro
Rafa, me ha quedado bastante claro tanto su funcionalidad como la forma de aplicarlo
Según vaya practicando contaré como me va
Y, efectivamente, no tenía noticias de esta funcionalidad en los controles de versiones anteriores
Gracias

Re: Bienvenidos al repositorio público de EasyReport

PostPosted: Thu Aug 28, 2014 2:14 am
by cnavarro
Antonio, no crees que podria ser interesante generar un fichero Changelog del repositorio?
Incluso no se si se podria poner como fichero Readme del mismo

Re: Bienvenidos al repositorio público de EasyReport

PostPosted: Thu Aug 28, 2014 7:27 am
by Antonio Linares
Cristobal,

En realidad no hace falta, siempre y cuando se usen buenas descripciones en los commits.

Con revisar los commits tenemos la lista de cambios:

https://bitbucket.org/fivetech/easyreport/commits/all