Usuwanie plików innych niż repozytorium za pomocą git?


100

Piszę kod Autotools i w trakcie opracowywania generowanych jest mnóstwo plików.

Czy w ogóle jest polecenie gitowi, aby usunął wszystkie pliki z katalogu, który nie jest częścią repozytorium?

Odpowiedzi:


182

Możesz użyć git-clean . To polecenie usunie nieśledzone pliki / katalogi. Domyślnie drukuje tylko to, co by usunął, bez ich usuwania.

Biorąc pod uwagę -fflagę do usuwania plików i -dflagę do usuwania pustych katalogów:

git clean -df

Usuwanie ignorowanych plików:

git clean -dfx

37
Wrzuć -xi wszystko jest tak dobre, jak świeżo sklonowane repozytorium.
Dustin,

2
Myślałem, że miał na myśli usunięcie plików z gita, a nie z samego systemu plików, ups!
Andrew Marshall,

Samo polecenie git cleanfaktycznie usunie wszystkie nieśledzone pliki - z wyjątkiem sytuacji, gdy zmienna konfiguracyjna Git clean.requireForce ma wartość true. Jeśli jest ustawiony na fałsz, wtedy -ff jest potrzebne do czyszczenia katalogów
Adam,

6
Najnowsze wersje git będą zawierać błędy bez żadnych parametrów; requireForce jest domyślnie ustawiony na true, więc aby wykonać próbę, potrzebujesz -n
Seb

1
śledzenie @Dustin: git clean -ixpokaże ci, co wyczyści i da ci menu opcji. Mój ulubiony.
wcochran
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.