Rimuovere file non di repository con git?


97

Sto scrivendo il codice di Autotools e nel processo di sviluppo vengono generati tonnellate di file.

C'è comunque da dire a git di rimuovere tutti i file da una directory che non fanno parte del repository?

Risposte:


178

Puoi usare git-clean . Questo comando rimuoverà i file / directory non tracciati. Per impostazione predefinita, stamperà solo ciò che avrebbe rimosso, senza rimuoverli effettivamente.

Dato il -fflag per rimuovere i file e il -dflag per rimuovere anche le directory vuote:

git clean -df

Rimuovendo anche i file ignorati:

git clean -dfx

36
Metti un -xed è tutto buono come un repo appena clonato.
Dustin

2
Pensavo intendesse rimuovere i file da git, non il filesystem vero e proprio, whoops!
Andrew Marshall

Il comando git cleanda solo rimuoverà effettivamente tutti i file non tracciati, tranne quando la variabile di configurazione di Git clean.requireForce è impostata su true. Se è impostato su false, allora -ff è necessario per pulire le directory
Adam

6
Le versioni recenti di git daranno errori senza alcun parametro; requireForce è impostato su true, quindi per eseguire un dryrun è necessario -n
Seb

1
seguendo @Dustin: git clean -ixti mostrerà cosa pulirà e ti darà un menu di opzioni. Il mio preferito.
wcochran
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.