Los archivos modificados en una rama de git se extienden a otra rama

Resuelto Rajkumar S asked hace 16 años • 6 respuestas

Estoy trabajando en un repositorio git con una rama maestra y otra rama temática. Cambié a la rama de tema y modifiqué un archivo. Ahora, si cambié a la rama maestra, ese mismo archivo se muestra como modificado.

Por ejemplo:

estado de git en la rama git-build:

# On branch git-build
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   cvsup_current
#

Cambiar a la rama maestra

[root@redbull builder_scripts (git-build)]# git co master
M       builder_scripts/cvsup_current
Switched to branch "master"

estado de git en la rama maestra

[root@redbull builder_scripts (master)]# git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   cvsup_current
#

¿Por qué el archivo se muestra como modificado en la rama master aunque se modificó en la rama git-build?

Entendí que las ramas son independientes entre sí y cuando cambio de una rama a otra, los cambios no se "desbordan" de una rama a otra. Entonces obviamente me estoy perdiendo algo aquí.

¿Alguien tiene una pista?

Rajkumar S avatar Oct 29 '08 16:10 Rajkumar S
Aceptado

¿Por qué el archivo se muestra como modificado en la rama master aunque se modificó en la rama git-build?

La clave para recordar es que el archivo no fue modificado en la rama git-build. Sólo fue modificado en su copia de trabajo.

Solo cuando confirmas, los cambios se vuelven a colocar en cualquier rama que hayas retirado.

Gareth avatar Oct 29 '2008 10:10 Gareth

Si desea almacenar temporalmente sus cambios en una rama mientras trabaja en otra, puede usar el git stashcomando. Es una de las pequeñas y sorprendentes ventajas no reconocidas de usar git. Ejemplo de flujo de trabajo:

git stash #work saved
git checkout master
#edit files
git commit
git checkout git-build
git stash apply #restore earlier work

git stashalmacena una pila de cambios, por lo que puede almacenar de forma segura varios puntos de control. También puedes darles nombres/descripciones. Información de uso completa aquí .

Peter Burns avatar Oct 29 '2008 10:10 Peter Burns