2015-08-26 15 views
8
mkdir repo 
cd repo 
git init 
mkdir temp 
touch temp/in.tmp 
touch out.tmp 
echo '*tmp' > .gitignore 

quando l'uso git clean -Xn esso esposizione Would remove out.tmpCome usare git clean rimuove tutti i file list in .gitignore?

ma voglio rimuovere temp/in.tmp insieme

git clean -Xdn non funziona troppo, ma cd per temp directory ed eseguire git clean -Xn esso esposizione Would remove in.tmp

quindi mi chiedo è c'è un comando per rimuovere tutti i file lista in .gitignore include sottodirectory, in questo caso come usare git clean rimuovere temp/in.tmp e out.tmp

$ git --version 
git version 1.9.5.msysgit.1 

ho trovato qualcosa di strano

aggiungere un file in temp directory e in scena, git clean -Xn sembra funzionare

touch temp/a.txt 
git add temp/a.txt 
git clean -Xn 

esso esposizione

Would remove out.tmp 
Would remove temp/in.tmp 

ma perché è successo?

+0

Strano. documenti dicono * Pulisce l'albero di lavoro ** ricorsivamente ** rimuovendo i file che non sono sotto controllo di versione, a partire dalla directory corrente. * –

+0

Un'ipotesi selvaggia: Git attraversa solo le directory nell'indice con l'opzione '-X', ignorando la directory 'temp' (perché inizialmente non lo sa, solo dopo aver aggiunto un file). Posso replicare il problema con Git 2.1.4 su Ubuntu. Perché non lo chiedi a [email protected]? – krlmlr

risposta

1

È necessario -x perché si vuole cancellare il file ignorato dai .gitignore

git clean -fdx

volontà successufully pulito tutto per voi

macsp:repo proto$ git clean -fdxn Would remove .gitignore Would remove out.tmp Would remove temp/ macsp:repo proto$

+0

ma '-x' rimuove anche tutti i file non tracciati – Hanlin

+0

Ok, ci vediamo punto. Si desidera eliminare tutti i file che corrispondono a .gitignore ma non eliminare tutti gli altri file non tracciati. Penso che questo problema tu sia in realtà un caso angolare a causa del fatto che git non tiene traccia delle cartelle vuote. –

+0

Sto lavorando su una CLI chiamata gnore che dovrebbe risolvere questo problema, oltre ad aggiungere un sacco di altre chicche – jamrizzi

Problemi correlati