Perché git continua a mostrare le mie modifiche quando cambio succursali (file modificati, aggiunti, cancellati) non importa se eseguo git add o no?

Sono davvero nuovo di git e ho cercato di capire perché git continua a mostrare tutto ciò che ho cambiato in un ramo in un altro ramo quando eseguo git checkout per passare da un ramo all’altro Innanzitutto ho provato a non usare git add e non ha funzionato. Tuttavia, ho provato a utilizzare git add, ma non ho risolto il problema. Non sto ancora usando git commit.

Questo è fondamentalmente quello che sto facendo:

$ git clone  $ 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 ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # deleted: file1.txt # # Untracked files: # (use "git add ..." 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 ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # deleted: file1.txt # # Untracked files: # (use "git add ..." to include in what will be committed) # # file2.txt no changes added to commit (use "git add" and/or "git commit -a") 

Ho pensato che, mentre si usano i rami, qualunque cosa tu faccia in un ramo, è invisibile a tutti gli altri rami. Non è questo il motivo della creazione di rami?

Ho provato a utilizzare “git add” ma i cambiamenti sono visibili in entrambi i rami. Devo eseguire “git commit” prima di passare da un ramo all’altro per evitare questo?