Soy muy nuevo en git y he estado tratando de entender por qué git sigue mostrando todo lo que cambié en una rama de otra rama cuando ejecuto git checkout para cambiar de rama. Primero intenté no usar git add y no lo hice trabajo. Sin embargo, intenté usar git add, pero no solucioné el problema. No estoy usando git commit todavía.¿Por qué git sigue mostrando mis cambios cuando cambio de ramas (archivos modificados, agregados, eliminados) sin importar si ejecuto git add o no?
Esto es básicamente lo que estoy haciendo:
$ git clone <a_repository>
$ git branch
* master
$ git branch testing
$ git checkout testing
...edit a file, add a new one, delete...
$ git status
# On branch testing
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: file1.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# file2.txt
no changes added to commit (use "git add" and/or "git commit -a")
$ git branch
master
* testing
$ git checkout master
D file1.txt
Switched to branch 'master'
$ git status
# On branch master
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: file1.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# file2.txt
no changes added to commit (use "git add" and/or "git commit -a")
pensé que, si bien la utilización de saltos, lo que hace en una rama, que es invisible a todas las otras ramas. ¿No es esa la razón de crear ramas?
He intentado usar "git add" pero los cambios son visibles en ambas ramas. ¿Debo ejecutar "git commit" antes de cambiar de rama para evitar esto?
Gracias por responder. Intenté usar git stash/git stash, pero el nuevo archivo aún está visible cuando cambio de rama. – JPZ
git stash pop es mejor a menos que quiera construir una gran cantidad de stashes. – siride
@JPZ: git stash solo se ocupa de los archivos rastreados; los nuevos archivos no son rastreados, por lo que no serán escondidos. – siride