Git: Jak usunąć wszystkie nieśledzone pliki?


35

Używam Git do kontroli wersji. Teraz chcę usunąć na moim komputerze lokalnym wszystkie pliki w repozytorium, które nie są śledzone.

mogę użyć

git status

aby wyświetlić te pliki, ale jak mogę je usunąć?


1
Nie możesz po prostu sprawdzić wszystkich plików w innym miejscu na swoim komputerze, a następnie usunąć starą wersję?
Nifle

1
Na pewno mogę, ale czy nie ma prostszego sposobu?
RoflcoptrException

Odpowiedzi:


51

Jeśli go masz, zignoruj, użyj git clean -xf. Możesz to zrobić git clean -df ale to również usunie nie śledzone katalogi. Posługiwać się -n na sucho.

Widzieć sprzątanie bez śledzenia


3
-x ignoruje ignorowania ..
UpAndAdam

7
-xf usunie i ignorowane pliki i to prawdopodobnie NIE tego, czego chcesz. Posługiwać się -nf i postępuj ostrożnie. Widzieć: stackoverflow.com/questions/61212/…
Mr_and_Mrs_D

2
Pamiętaj, że może to spowodować usunięcie twoich folderów środowiska / IDE (np. .Vagrant lub .idea (phpstorm))
timhc22


4

Interaktywne podejście użytkownika:

git clean -i -fd

Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/amazon/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y

-i dla interaktywnego
-f dla pliku
-d dla katalogu

Uwaga: Dodaj -n lub --próba po prostu sprawdź, co zrobi.


3

Warto wspomnieć o subtelności git clean -f vis-a-vis nieśledzonych plików i katalogów. Jeśli masz nieśledzony katalog, który zawiera pliki, które a fortiori nie są śledzone git clean -f NIE usunie tych nieśledzonych plików.

Innymi słowy, NIE zawsze tak jest git clean -f usunie wszystkie nieśledzone pliki. Lepsze wyjaśnienie git clean -f jest to, że usuwa wszystkie nieśledzone pliki, które są nie w nieśledzonych katalogach.

git clean -f -d musi służy do usuwania nieśledzonych plików znajdujących się w nieśledzonych katalogach i wydaje się, że nie ma możliwości usunięcia wszystkich nieśledzonych plików bez również usuwanie nieśledzonych katalogów, które zawierają tylko nieśledzone pliki.

Posługiwać się git clean -f -d -n NAPRAWDĘ zobaczyć, co chcesz zrobić, aby przywrócić katalog roboczy do tego, co byłoby bez żadnych nieśledzonych plików. Następnie użyj git clean -f -d aby to zrobić.

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.