Un compañero de trabajo y yo estamos trabajando en la rama principal en este momento. Tengo un código en mi árbol de trabajo que no quiero confirmar (instrucciones de depuración y similares). Ahora si comete cambios en algunos de esos mismos archivos, no puedo fusionarlas:¿Cómo hacer que Git Merge maneje cambios no confirmados en mi árbol de trabajo?
$ git merge origin/master
Updating 1b8c5c6..eb44c23
error: Entry 'blah.java' not uptodate. Cannot merge.
Viniendo de un fondo de la subversión, yo estoy acostumbrado a tener mi árbol de trabajo se fusionó de forma automática cuando me tire cambios del repositorio y si hay conflictos, los resuelvo manualmente.
La forma más rápida que he encontrado para hacer esto en Git es:
$ git stash
$ git merge origin/master
$ git stash pop
Esencialmente, la eliminación de mis cambios no confirmados, haciendo la fusión y luego volver a aplicar los cambios. ¿Cómo puedo decir merge para fusionar automáticamente mi árbol de trabajo con los cambios que estoy tratando de incorporar?
¿Qué sucede si tiene conflictos de combinación? ¿Qué pasaría si tuvieras conflicto de fusión en archivos sucios (archivos que has modificado)? Vea también "Diversión para mantener los cambios locales" en el blog de Junio C Hamano (git maintainer): http://gitster.livejournal.com/29060.html –
Gracias por el enlace. Sin embargo, una vez más, la gran mayoría de las veces, espero que no haya conflictos o conflictos menores que no me moleste arreglar manualmente. Corro el mismo riesgo de conflicto si confío mis archivos sucios de todos modos, excepto que luego me tengo que tomar la molestia de no comprometerlos después. –
Pregunta relacionada: http://stackoverflow.com/questions/18529206/when-do-i-need-to-do-git-pull-before-or-after-git-add-git-commit – leo9r