Introduzione
I file nella directory di lavoro di Git possono essere tracciati o non tracciati.
I file tracciati sono quelli che sono stati aggiunti e sottoposti a commit e che git conosce. I file tracciati possono essere non modificati, modificati o staged. Tutti gli altri file nella directory di lavoro non sono tracciati e git non è a conoscenza di tali file.
A volte la tua directory di lavoro di git può essere ingombra di file non necessari che vengono generati automaticamente, rimanenti da fusioni o creati per errore. In tali situazioni, è possibile aggiungere quei file in .gitignore o rimuoverli. Se si desidera mantenere pulito il proprio repository, l'opzione migliore è rimuovere i file non necessari.
Questo articolo spiega come rimuovere i file untracked in Git.
Rimozione di file non tracciati
Il comando che consente di rimuovere file non tracciati è git clean.
È sempre una buona idea eseguire il backup del repository perché, una volta eliminati, i file e le modifiche apportate non possono essere recuperati.
Prima di eseguire il comando effettivo e rimuovere i file e le directory non tracciati utilizzare l'opzione -n che eseguirà un "ciclo di prova" e mostrerà quali file e directory verranno eliminati:
git clean -d -n
L'output sarà simile al seguente:
Would remove content/news/
Would remove content/articoli/esempio.txt
Se alcuni dei file sopra elencati sono importanti, dovresti iniziare a tracciare questi file con git add o aggiungerli al tuo .gitignore.
Una volta che sei sicuro di voler andare avanti ed eliminare i file e le directory non tracciati, digitare:
git clean -d -f
Il comando stamperà tutti i file e le directory eliminati correttamente:
Removing content/news/
Removing content/articoli/esempio.txt
L' opzione -d dice a git di rimuovere anche le directory non tracciate. Se non si desidera eliminare directory vuote non tracciate, omettere l'opzione -d.
L' opzione -f rappresenta force (eliminazione forzata). Se non utilizzato e la variabile di configurazione di Git clean.requireForce è impostata su true, Git non eliminerà i file.
Se si desidera eliminare in modo interattivo i file non tracciati utilizzare l'opzione -i:
git clean -d -i
L'output mostrerà i file e le directory da rimuovere e ti chiederà cosa fare con quei file:
Would remove the following items:
content/news/ content/articoli/esempio.txt
*** Commands ***
1: clean 2: filter by pattern 3: select by numbers
4: ask each 5: quit 6: help
Seleziona una delle opzioni e premi INVIO.
Se si desidera limitare l'operazione a determinate directory, passare i percorsi alle directory da controllare per i file non tracciati come argomenti al comando. Ad esempio, per verificare la presenza di file nella directory src dovresti eseguire:
git clean -d -n src
Rimozione di file ignorati
Il comando git clean consente anche di rimuovere file e directory ignorati.
Per rimuovere tutti i file ignorati e non tracciati utilizzare l' opzione -x:
git clean -d -n -x
Se si desidera rimuovere solo i file e le directory ignorati, utilizzare l'opzione -X:
git clean -d -n -X
Il comando sopra cancellerà tutti i file e le directory elencati nel tuo .gitignore e manterrà i file non tracciati.
Conclusione
In questo tutorial, abbiamo visto come eliminare file e directory non tracciati in Git.