Quello che sta succedendo è che non stai usando git correttamente. Non c'è assolutamente alcun problema con la creazione di un ramo e l'eliminazione di file e cartelle. Quando si ritorna al ramo principale, i file e le cartelle cancellati verranno ripristinati, poiché non sono stati eliminati da quel ramo.
Quello che sta accadendo nel tuo caso è che hai rimosso il file/le cartelle da sotto git, usando l'eliminazione del sistema operativo, piuttosto che il comando "git rm". Ecco perché lo stato di git li segnala come "cancellati". È anche il motivo per cui i file rimangono cancellati quando si cambia succursale. git si aspetta che i file siano lì e loro no.
stato Git dice di eseguire "git add", ma che non funziona. Poiché il file non è più lì, l'esecuzione di git add fallirà in modo silenzioso. Si potrebbe non notare, ma il messaggio dice anche di eseguire "git rm". Potresti pensare di non poterlo fare da quando il file è finito, ma non è vero. Il comando rm sarà ancora riuscirà a rimuovere il file dal repo, anche se hai già stato rimosso dal file system.
L'altra e più semplice cosa che puoi fare è eseguire git add -A. L'indicatore -A indicherà aggiungere per notare eventuali file cancellati o aggiunti.
Prova questo per un test:
git init test-delete
cd test-delete
touch filea
mkdir dir_b
touch dir_b/fileb
git add .
git commit -m "Initial commit"
git checkout -b new_branch
rm -rf dir_b
git add -A
git commit -m "deleted files from branch"
(ls to prove files arent' there)
git checkout master
(ls to show files have been restored)
git checkout new_branch
(ls to show files are gone again)
Forse si impegnano al vostro ramo 3.0-wip prima della verificazione al ramo master? In caso contrario, probabilmente è questo il problema. –
Ho clonato il repository esterno. Creato e verificato il nuovo ramo '3.0-wip'. File/cartelle cancellati tramite Finder. Creato il nuovo file 'index.php' e lo ha impegnato. Se eseguo il checkout del mio ramo 'master', i file sono ancora andati, e' git status' mostra tutti i file/cartelle come 'cancellati:'. –
Hai aggiunto git. | git aggiungi -u prima del tuo commit? Come hai commesso quei cambiamenti nel tuo ramo 3.0-wip? –