"Ocultas" los cambios en la pila de cambios local
git stash
Creas una rama local (no en github)
git branch d10-temporal
Te vas a esa rama nueva
git checkout d10-temporal
Vuelves a sacar los cambios de la pila local
git stash pop
git add -A; git commit -m 'el mensaje' ...
Y ahora develop otra vez a hacer lo "urgente", sin los cambios "a medias"
git checkout develop
Si quieres que esa rama la veamos los demás (o tú en otro ordenador), la puedes subir a github:
git push origin d10-temporal
Si acabas el desarrollo "urgente" en develop, puedes bien acabar la feature a medias en la rama d10-temporal
, o bien mergear la rama a develop y seguir en develop.
Normalmente, para incorporar ramas externas a develop no usamos git merge
sino git rebase
y luego git merge
.
El proceso normal sería:
- Acabas el desarrollo en la rama
- (en la rama d10-temporal):
git rebase develop
- Corriges posibles errores con
git mergetool
ygit rebase --continue
git checkout develop
git merge d10-system
Si quieres saber más por qué hacemos esto:
http://stackoverflow.com/questions/804115/when-do-you-use-git-rebase-instead-of-git-merge
Esta vez no lo hare, pero lo hare el Sabado en mi tiempo libre para probarlo en una repo mia.