2013-01-20 10 views
6

Często wykonuję git reset --hard wraz z git clean -f w celu oczyszczenia mojej gałęzi z modyfikacji i kompilacji plików. To polecenie usuwa wszystkie niepobrane pliki, co jest dla mnie w porządku, ale jest kilka plików, które chcę pozostawić, takie jak .project lub .settings (for eclipse)git reset - ignorowanie konkretnych nieśledzonych plików

Te pliki nie są częścią repozytorium, i zadeklarowane w pliku .gitignore. Czy istnieje sposób na zachowanie tych plików podczas wydawania powyższych poleceń, czy może powinienem ci różne polecenia do tego?

Odpowiedz

5

Zauważ, że git clean-f należy zdjąć dopiero plików nieznanych git, nie ignorowane pliki.

Tylko git clean -f -x usunie zignorowane pliki.

(we wszystkich przypadkach git clean -n -... jest lepiej, aby mieć podgląd tego, co zostanie usunięte)

Zaletą git reset nad git clean jest głównie o ruchu głową i resetowania indeksjak również pracy drzewo.
git clean dotyczy tylko drzewa roboczego.

4

git reset nie będzie dotykać zignorowanych plików. W większości działa z indeksem i indeksem HEAD. Ale git clean jest złe:

Czyści drzewo robocze przez rekursywne usuwanie plików, które nie są objęte kontrolą wersji, począwszy od bieżącego katalogu.

Odpowiedź brzmi: nie używaj git clean.

Powiązane problemy