Domanda Come rimuovere file locali (non tracciati) dall'albero di lavoro attuale di Git?


Come si eliminano i file locali non tracciati dal proprio albero di lavoro corrente?


5775
2017-09-14 09:06


origine


risposte:


Come da Git Documentation pulito

Rimuovi i file non tracciati dall'albero di lavoro


Il primo passo è mostrare ciò che verrà cancellato usando il -n opzione:

git clean -n

Passo pulito - Attenzione: questo cancellerà i file :

git clean -f
  • Per rimuovere le directory, esegui git clean -f -d o git clean -fd
  • Per rimuovere i file ignorati, esegui git clean -f -X o git clean -fX
  • Per rimuovere i file ignorati e non ignorati, esegui git clean -f -x o git clean -fx

Nota  la differenza di caso sul X per i due ultimi comandi.

Se clean.requireForce è impostato su "true" (predefinito) nella configurazione, è necessario specificare -f altrimenti non accadrà nulla.

Di nuovo vedi il git-clean documenti per ulteriori informazioni.

Opzioni

-f

--vigore

Se la variabile di configurazione Git clean.requireForce non è impostata su false, git clean rifiuterà di essere eseguita a meno che non sia data -f, -n o -i.

-X

Non utilizzare le regole standard di ignoranza lette da .gitignore (per directory) e $ GIT_DIR / info / exclude, ma continuare a utilizzare le regole di ignoranza fornite con le opzioni -e. Ciò consente di rimuovere tutti i file non tracciati, inclusi i prodotti di costruzione. Questo può essere usato (possibilmente in combinazione con git reset) per creare una directory di lavoro incontaminata per testare una build pulita.

-X

Rimuovi solo i file ignorati da Git. Questo può essere utile per ricostruire tutto da zero, ma mantenere i file creati manualmente.

-n

--funzionamento a secco

Non rimuovere nulla, mostra solo cosa sarebbe stato fatto.

-d

Rimuovere le directory non tracciate oltre ai file non tracciati. Se una directory non tracciata è gestita da un repository Git diverso, non viene rimossa per impostazione predefinita. Usa l'opzione -f due volte se vuoi davvero rimuovere questa directory.


7586
2018-05-26 20:59



Uso git clean -f -d per essere sicuro directory  sono anche rimossi.

Puoi quindi verificare se i tuoi file sono davvero andati git status.


813
2017-12-30 20:12



Sono sorpreso che nessuno lo abbia mai detto prima:

git clean -i

Ciò significa interattivo  e otterrai una rapida panoramica di ciò che sta per essere cancellato offrendoti la possibilità di includere / escludere i file interessati. Nel complesso, ancora più veloce rispetto all'esecuzione obbligatoria --dry-run prima della vera pulizia

Dovrai lanciarti a -d se vuoi anche occuparti delle cartelle vuote. Alla fine, è un bel alias:

git iclean

Detto questo, la tenuta in più di comandi interattivi può essere stancante per utenti esperti. In questi giorni uso solo il già citato git clean -fd 


395
2017-09-14 09:09



git-clean - Rimuove i file non tracciati dall'albero di lavoro


387
2018-01-25 12:24



Se la directory non tracciata è un repository git proprio (ad esempio il sottomodulo), è necessario utilizzare -f due volte:

git clean -d -f -f


199
2018-06-03 12:16



Modo semplice per rimuovere i file non tracciati

Per rimuovere tutti i file non tracciati, The simple   il modo è quello di aggiungi tutti prima di tutto  e resettare il repository come sotto

git add --all
git reset --hard HEAD


143
2018-01-11 00:41



mi piace git stash save -u perché puoi annullarli tutti con git stash pop.

EDIT: Ho trovato anche un modo per mostrare un file non tracciato in una scorta (ad es. git show stash@{0}^3) https://stackoverflow.com/a/12681856/338986


117
2017-11-25 14:16