Estoy trabajando en un repositorio git con una rama maestra y otra rama temática. He cambiado a la rama de tema y he modificado un archivo. Ahora, si cambio a la rama maestra ese mismo archivo se muestra como modificado.Los archivos modificados en una rama git se están extendiendo a otra rama
Por ejemplo:
git status 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 rama principal
[[email protected] builder_scripts (git-build)]# git co master
M builder_scripts/cvsup_current
Switched to branch "master"
git status en la rama principal
[[email protected] builder_scripts (master)]# git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: cvsup_current
#
Por qué es eso el archivo se muestra como modificado en la rama principal a pesar de que se modificó en la rama git-build?
Según entendí, las ramas son independientes entre sí y cuando cambio de una rama a otra, los cambios no se "expanden" de una rama a otra. Así que obviamente me falta algo aquí.
¿Alguien tiene una pista?
Tenga en cuenta que esto no mantiene los cambios en la parte superior de la rama que está dejando ni nada. Esto descartará los cambios no confirmados (excepto si el archivo no está rastreado). – webmat
Es el caso muy raro en el que desea utilizar 'git checkout -f' ya que instantáneamente, irrevocablemente, y sin provocar descartar cualquier cambio no confirmado. Hay una razón por la que el pago de git funciona de la manera que lo hace, le aconsejo que lea el comentario de Gareth a continuación. –