2012-03-02 12 views
7

Questo è un follow-up alla domanda this.Il cambio di ramo Git non modifica i file delle cartelle di codici

Ho clonato la cartella del progetto master remoto utilizzando il comando git clone [email protected]:TEST. dalla radice Git, ho fatto un comando cd Test per spostarmi in quella cartella. Ho quindi creato un ramo utilizzando git checkout -b myBranch. Ora sul git bash mostra che sono nel nuovo ramo. Ho creato un file test.txt nella cartella Test e poi ho cambiato il mio ramo in master. Vedo ancora il file di testo. Git non dovrebbe mostrare il test.txt poiché non fa parte del master. Devo impegnare le mie modifiche nel ramo se questo deve accadere.

Inizialmente pensavo che questo potesse essere successo perché non faceva parte del mio progetto .net (che ho nel master e nel ramo). Ma lo stesso è accaduto quando ho provato ad aggiungere un file a mybranch. Quando cambio il mio master, vedo ancora l'icona modificata per le cartelle nel sistema fie.

Cosa mi manca? Grazie per tutto il tuo aiuto dato che ho passato un sacco di tempo a cercare di capire Git adesso. Ogni volta che penso di averlo capito, c'è sempre qualcosa.

+1

Haha +1 per "Ogni volta che penso di averlo capito, c'è sempre qualcosa. Questo è GIT per te! –

risposta

14

No, non fa parte del ramo master, ma non fa parte di myBranch. È untracked, perché non hai mai eseguito il commit del file. In esecuzione git status lo vedrai elencato come non tracciato. Dato che non è mai stato messo in scena o impegnato, Git non gestisce (e non può) la sua esistenza, quindi rimane lì a prescindere.

Inoltre, i file modificati rimangono tra le filiali, se possibile. Else Git ti darà un errore quando cambi ramo su un albero di lavoro sporco. Questo è, ancora, perché Git non ha una copia interna di quei cambiamenti, esistono solo nel tuo filesystem, e non all'interno di Git finché non vengono commessi.

+2

+1 Git conosce i file non appena li aggiungi (li inserisce nel suo * indice *), ma non fanno parte di un * ramo * finché non sono stati messi in un 'commit' – Gareth

Problemi correlati