
Julian Luis Almandos
PreguntaTengo una consulta respecto al “stash”, en particular a la opción “-u”:
Estaba trabajando en una rama que salía de master y le hice commit y push y la mandé al servidor remoto. Después empecé a trabajar sobre esa misma rama olvidándome que estaba allí, por lo tanto hice “stash” y como los archivos que cree no estaban trackeados, no hacía nada. Probé usando “-u” y ademas de stashearme esos pocos cambios que había hecho, también me stageo la rama entera (la primera), y después cuando cree la otra rama con el stash, commitie, pushie, y me di cuenta de que también estaban todos los cambios que habían hecho antes! No entiendo por qué paso esto, si alguien me ayuda le agradecería un montón. Gracias!

Lo que sucedió es que hiciste un stash en una rama x, luego creaste una rama usando ese stash por lo tanto esa rama es como si hubieras hecho un git checkout branch desde esa rama y no desde master. si hubieras hecho tu commit de la rama, luego te pasabas a master, trabajabas y hacias un stash y luego creabas la rama desde el stash entonces es como si saliera la rama de master.

Manuel Ojeda
El comando -u lo que hace es trackear los archivos que no han sido añadidos mediante git add el único detalle que ya te sucedió es que agarra y hace stash a todo, es básicamente un git stash -all salvo la diferencia de que también hace stash a los archivos no trackeados.