Jak usunąć lokalne (nieśledzone) pliki z bieżącego drzewa roboczego Git


6838

Jak usunąć nieśledzone pliki lokalne z bieżącego działającego drzewa?


86
Ta interaktywna ściągawka git ndpsoftware.com/git-cheatsheet.html pokazuje obszar roboczy git (Google daje lepsze wyniki z „obszarem roboczym” niż „kopią roboczą”).
qneill

28
Uwaga: jeśli chcesz usunąć tylko niektóre nieśledzone pliki, ale nie wszystkie , git cleanma teraz tryb interaktywny ! Zobacz moją odpowiedź na to drugie pytanie : git 1.8.4+
VonC

17
Zauważ, że nie usuwasz plików z gałęzi git, ponieważ gałąź jest odniesieniem do zatwierdzenia, a zatem nie zawiera nieśledzonych plików. Są one obecne tylko w katalogu roboczym i nie mają nic wspólnego z gałęziami. To prawdopodobnie tylko wyjaśnienie terminologii.
Pavel Šimerda

6
Aby wyjaśnić zrozumienie dla niewtajemniczonych i nowicjuszy w Git - uruchom status git, a jeśli pokazuje plik jako nieśledzony, a nie chcesz tego pliku w repozytorium, możesz po prostu przejść do systemu plików i usunąć go lub przenieść . Nie zrobi to nic złego lokalnemu repozytorium ani Git. W git cleanodpowiedziach poniżej możesz również użyć lub wprowadzić pewne odmiany, w tym wersję interaktywną, aby usunąć tylko wybrane pliki, ale tryb interaktywny może być uciążliwy. Cokolwiek zrobisz, upewnij się, że rozumiesz, co git cleanzostanie usunięte lub którego użyjesz, --dry-runaby poinformować Cię bez usuwania niczego.
LightCC

4
Jeśli pliki nie są jeszcze śledzone, czy nie możesz po prostu usunąć ich bez git? rm files-to-be-deleted
mhatch

Odpowiedzi:


8730

git-clean - Usuń nieśledzone pliki z działającego drzewa

Streszczenie

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…​

Opis

Czyści drzewo robocze, rekurencyjnie usuwając pliki, które nie są pod kontrolą wersji, zaczynając od bieżącego katalogu .

Zwykle usuwane są tylko pliki nieznane Gitowi, ale jeśli -xpodano opcję, ignorowane pliki są również usuwane. Może to być na przykład przydatne do usunięcia wszystkich produktów kompilacji.

Jeśli <path>...podano dowolne opcjonalne argumenty, dotyczy to tylko tych ścieżek.


Krok 1 ma pokazać, co zostanie usunięte za pomocą -nopcji:

# Print out the list of files which will be removed (dry run)
git clean -n

Clean Step - uwaga: spowoduje to usunięcie plików :

# Delete the files from the repository
git clean -f
  • Aby usunąć katalogi, uruchom git clean -f -dlubgit clean -fd
  • Aby usunąć zignorowane pliki, uruchom git clean -f -Xlubgit clean -fX
  • Aby usunąć zignorowane i niezignorowane pliki, uruchom git clean -f -xlubgit clean -fx

Zwróć uwagę na różnicę wielkości znaków Xdla dwóch ostatnich poleceń.

Jeśli clean.requireForcew twojej konfiguracji jest ustawiona wartość „true” (domyślna), musisz określić, -finaczej nic się nie wydarzy.

Ponownie zobacz git-cleandokumentację, aby uzyskać więcej informacji.


Opcje

-f, --force

Jeśli zmienna konfiguracyjna Git clean.requireForce nie jest ustawiona na false, git clean odmówi uruchomienia, chyba że podano -f, -nlub -i.

-x

Nie używaj standardowych reguł ignorowania odczytanych z .gitignore (dla katalogu) $GIT_DIR/info/exclude, ale nadal używaj reguł ignorowania podanych z -eopcjami. Umożliwia to usunięcie wszystkich nieśledzonych plików, w tym produktów kompilacji. Można tego użyć (ewentualnie w połączeniu z git reset), aby stworzyć nieskazitelny katalog roboczy do testowania czystej kompilacji.

-X

Usuń tylko pliki ignorowane przez Git. Może to być przydatne do odbudowania wszystkiego od zera, ale zachowaj ręcznie utworzone pliki.

-n, --dry-run

Tak naprawdę niczego nie usuwaj, po prostu pokaż, co można zrobić.

-d

Usuń nieśledzone katalogi oprócz nieśledzonych plików. Jeśli nieśledzony katalog jest zarządzany przez inne repozytorium Git, domyślnie nie jest usuwany. Użyj -fopcji dwa razy, jeśli naprawdę chcesz usunąć taki katalog.


287
git clean -fdziała tylko w katalogu, w którym się nazywa (i podkatalogach). Jeśli chcesz wyczyścić całą kopię roboczą, powinieneś wywołać ją w katalogu głównym.
Eduardo Bezerra

17
Usuwa również wszystkie pliki w .gitignore. Muszę usunąć tylko pliki / foldery, które są nowe i nie znajdują się w
.gitignore

24
@Kostanos Jeśli nie chcesz usuwać plików z rozszerzeniem .gitignore, nie podawaj flagi -x.
Lo-Tan,

51
git clean -f :/działa tak, jakbyś uruchomił go w katalogu repozytorium root. Zobacz także późniejsze odpowiedzi uwzględniające również podmoduły zgit clean -ffxd :/
tutaj

18
@Michelle git clean -xfd BĘDZIE także USUWAĆ WSZYSTKIE PLIKI BIEŻĄCE ZGŁOSZONE W TWOIM .gitignore i nie można ich odzyskać
thedanotto

986

Użyj, git clean -f -daby upewnić się, że katalogi również zostały usunięte.

  1. Tak naprawdę niczego nie usuwaj, po prostu pokaż, co można zrobić.

    git clean -n
    

    lub

    git clean --dry-run
    
  2. Usuń nieśledzone katalogi oprócz nieśledzonych plików. Jeśli nieśledzony katalog jest zarządzany przez inne repozytorium Git, domyślnie nie jest usuwany. Użyj tej -fopcji dwa razy, jeśli naprawdę chcesz usunąć taki katalog.

    git clean -fd
    

Następnie możesz sprawdzić, czy naprawdę nie ma plików git status.


115
Jak wcześniej wspomniano, dobrze jest go uruchomić na suchogit clean -n -d
Ms01

15
To samo robi git clean -ndi git clean -fd.
Micer,

477

Dziwi mnie, że nikt wcześniej o tym nie wspominał:

git clean -i

To oznacza interakcję, a otrzymasz szybki przegląd tego, co zostanie usunięte, oferując możliwość włączenia / wyłączenia plików, których dotyczy problem. Ogólnie rzecz biorąc, nadal szybciej niż uruchomienie obowiązkowe--dry-run przed prawdziwym czyszczeniem.

Będziesz musiał wrzucić, -djeśli chcesz zająć się również pustymi folderami. Na koniec tworzy fajny alias:

git iclean

To powiedziawszy, dodatkowe trzymanie w ręce interaktywnych poleceń może być męczące dla doświadczonych użytkowników. Obecnie używam tylko wspomnianego jużgit clean -fd


16
@ pal4life Zostało dodane w 1.8.4, być może korzystasz ze starszej wersji git? github.com/git/git/blob/master/Documentation/RelNotes/1.8.4.txt
Mattias Backman

Podoba mi się to - czuję się bardziej komfortowo, mając to w swojej historii basha, niż jakakolwiek inna opcja, ponieważ nie jest to wielka sprawa, jeśli przypadkowo ctrl-r lub ctrl-p do tego.
csvoss


250

Jeśli nieśledzony katalog jest własnym repozytorium git (np. Submoduł), musisz użyć -fdwa razy:

git clean -d -f -f


4
BTW, jest to napisane w dokumentacji : Git odmówi usunięcia katalogów z podkatalogiem lub plikiem .git, chyba że podano drugie -f. Ale i tak dzięki!
Maxim Suslov,

248

Prosty sposób na usunięcie nieśledzonych plików

Aby usunąć wszystkie nieśledzone pliki, najprostszym sposobem jest dodanie ich wszystkich i zresetowanie repozytorium jak poniżej

git add --all
git reset --hard HEAD


8
Można zastąpić git add --allprzez git add .. Możesz to zrobić w skrócie w trybie oneline git add . && git reset --hard HEAD (bądź bardzo ostrożny z tym poleceniem) .
RousseauAlexandre

22
Po co z tego korzystać git clean?
user2864740

8
Ponieważ git cleannajwyraźniej usuwa również wszystko, co jest ignorowane. Właśnie usunąłem mój node_modulesfolder. W ten sposób wszystkie pliki z wyjątkiem tych zignorowanych zostaną najpierw wyzerowane, a następnie usunięte przez wykonanie resetu. Zignorowane pliki nie zostaną dotknięte.
Andreas

5
@Andreas nie usuwa dla mnie ignorowanych plików (git 2.14.1). Powinieneś uruchomićgit clean -n mimo to przed prawdziwym usunięciem (lub użyciem git clean -i).
Qw3ry

8
git cleanusuwa zignorowane pliki tylko wtedy, gdy użyjesz opcji -xlub -X, w przeciwnym razie usuwa tylko nieśledzone pliki.
doubleDown,

140

Podoba mi się, git stash push -uponieważ możesz je wszystkie cofnąć git stash pop.

EDYCJA: Znalazłem również sposób na wyświetlenie nieśledzonego pliku w skrytce (np. git show stash@{0}^3) Https://stackoverflow.com/a/12681856/338986

EDYCJA 2: git stash savejest przestarzała na korzyść push. Dzięki @ skryptu-wilku.


3
Czy możesz wyjaśnić -u na skrytce? Nie śledzę, jak to działa inaczej niż git stash save. Próbowałem tego i zadziałało. Zajrzałem do git docs i też nie mogłem go tam znaleźć.
Winnemucca,

9
-ujest równoważne z --include-untracked. Możesz znaleźć pomoc w git help stash.
hiroshi

3
@hiroshi Thanks! po wypróbowaniu każdego przeklętego rozwiązania od kilkunastu różnych osób, ten w końcu zadziałał ... eee! Nawet skrytka na gitarze zrobiła nada. Oszczędź - zadbałeś o nieśledzone. zresetuj hard / clean force / etc żaden z nich nic dla mnie nie zrobił.
killjoy

3
saveOpcja została zastąpiona push, który robi to samo, ale więcej. Możesz przeczytać więcej tutaj, /programming/44680028/whats-the-difference-between-git-stash-save-and-git-stash-push/44681952
Script Wolf

120

Tego zawsze używam:

git clean -fdx

W przypadku bardzo dużego projektu możesz go uruchomić kilka razy.


@Martin Jeden z projektów, nad którymi pracuję, ma ponad 8 lat, a +80 programistów aktywnie koduje. Git czasami nie oczyszcza go przy pierwszym przejściu.
Oscar Fraxedas

1
Mogę to potwierdzić, więc nadal obowiązuje to w 2020 r. Pracujemy również nad dużym projektem i musiałem go uruchomić 4-5 razy, aż GIT nie znalazł już żadnych plików do usunięcia.
turbolocust

90

git-clean jest tym, czego szukasz. Służy do usuwania nieśledzonych plików z drzewa roboczego.


86

Jeśli to konieczne, aby usunąć nieśledzone pliki z określonego podkatalogu,

git clean -f {dir_path}

I połączony sposób usuwania nieśledzonych plików / plików i plików ignorowanych.

git clean -fxd {dir_path}

po tym będziesz modyfikować pliki tylko w git status.


68

Usuń wszystkie dodatkowe foldery i pliki w tym repozytorium + submodułach

To sprawia, że ​​jesteś w takim samym stanie jak świeży klon.

git clean -ffdx

Usuń wszystkie dodatkowe foldery i pliki w tym repozytorium, ale nie jego podmoduły

git clean -fdx

Usuń dodatkowe foldery, ale nie pliki (np. Folder kompilacji lub dzienników)

git clean -fd

Usuń dodatkowe foldery + zignorowane pliki (ale nie nowo dodane pliki)

Jeśli plik nie został zignorowany i nie został jeszcze zameldowany, pozostaje. Zwróć uwagę na duże X.

git clean -fdX

Nowy tryb interaktywny

git clean

57

git clean -fd usuwa katalog

git clean -fX usuwa zignorowane pliki

git clean -fx usuwa zignorowane i niezauważone pliki

mogą być używane wszystkie powyższe opcje w kombinacji jako

git clean -fdXx

po więcej pomocy zajrzyj do instrukcji git


10
Polecenie git clean -fdXxwyświetla komunikat o błędzie „fatal: -x i -X nie mogą być używane razem” (przy użyciu git-2.8). Aby podać ostatnie zdanie w odpowiedzi, podaj link do instrukcji git. Pozdrawiam
olibre

uruchom kolejno dwa polecenia: git clean -fdX, git clean -fdx
Zegar ZHONG

55

OK, usuwanie niechcianych nietrackowanych plików i folderów jest łatwe przy użyciu gitw wierszu poleceń, po prostu zrób to w następujący sposób:

git clean -fd

Sprawdź to jeszcze raz, ponieważ spowoduje to usunięcie plików i folderów bez tworzenia historii ...

Również w tym przypadku -foznacza siłę i -doznacza katalog ...

Jeśli więc chcesz usunąć tylko pliki, możesz użyć -ftylko:

git clean -f

Jeśli chcesz usunąć (katalogi) i pliki, możesz usunąć tylko nieśledzone katalogi i pliki w następujący sposób:

git clean -fd

Możesz także użyć -xflagi do włączenia plików, które są ignorowane przez git. Byłoby to pomocne, jeśli chcesz usunąć wszystko.

Dodanie -iflagi powoduje, że git prosi o pozwolenie na usuwanie plików jeden po drugim w podróży.

Jeśli nie jesteś pewien i chcesz najpierw sprawdzić, dodaj -nflagę.

Użyj, -qjeśli nie chcesz zobaczyć żadnego raportu po pomyślnym usunięciu.

Tworzę również poniższy obrazek, aby był bardziej niezapomniany, zwłaszcza że widziałem, jak wielu ludzi myli się -fczasem, czyszcząc folder lub jakoś go pomieszać!


usuwanie niechcianych nieśledzonych plików i folderów


Co jest z tym obrazem?
Pacerier

37

Lepszym sposobem jest użycie: git clean

git clean -d -x -f

Usuwa nieśledzone pliki, w tym katalogi (-d)i pliki ignorowane przez git (-x).

Również zastąpienie -fargument z -naby przeprowadzić dry-runlub -idla trybu interaktywnego i powie to, co zostanie usunięty.


25

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/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/arsdumpgenerator/s3/ [y/N]? y

-i dla interaktywnego
-f dla wymuszenia
-d dla katalogu
-x dla ignorowanych plików (dodaj, jeśli wymagane)

Uwaga: Dodaj -n lub --dry-run, aby sprawdzić, co zrobi.


20

Lifehack dla takiej sytuacji, którą właśnie wymyśliłem i wypróbowałem (to działa idealnie):

git add .
git reset --hard HEAD

Strzec się! Pamiętaj, aby zatwierdzić wszelkie niezbędne zmiany (nawet w plikach bez śledzenia) przed wykonaniem tej czynności .


3
Przynajmniej jest to inne podejście. :) Innym sposobem, aby zapamiętać usunięte pliki w git add . git commit -m 'about to delete' git reset --hard HEAD~
dzienniku logowania,

2
jeszcze git add . && git reset --hard HEAD
szybszym

3
git add . && git reset --hard
Pleymor,

To może nie być to, czego oczekujesz, jeśli istnieją również zmiany, które chcesz zatwierdzić.
lacostenycoder

@AlexanderMills git reset --hardresetuje wszystkie niezaangażowane zmiany, ALE NIEŚLEDZONE PLIKI do stanu ostatniego zatwierdzenia. Właśnie dlatego najpierw potrzebujemy git add .- aby etapy wszystkie nieśledzone pliki (więc też zostały zresetowane)
thybzi

19

git clean -f -d -x $(git rev-parse --show-cdup)stosuje czyste do katalogu głównego, bez względu na to, jak go wywołać w drzewie katalogów repozytorium. Używam go cały czas, ponieważ nie zmusza cię to do opuszczenia folderu, w którym pracujesz teraz, i pozwala wyczyścić i zatwierdzić z miejsca, w którym jesteś.

Bądź pewny, że flagi -f, -d, -xdopasowane do potrzeb:

-d
       Remove untracked directories in addition to untracked files. If an
       untracked directory is managed by a different Git repository, it is
       not removed by default. Use -f option twice if you really want to
       remove such a directory.

-f, --force
       If the Git configuration variable clean.requireForce is not set to
       false, git clean will refuse to delete files or directories unless
       given -f, -n or -i. Git will refuse to delete directories with .git
       sub directory or file unless a second -f is given. This affects
       also git submodules where the storage area of the removed submodule
       under .git/modules/ is not removed until -f is given twice.

-x
       Don't use the standard ignore rules read from .gitignore (per
       directory) and $GIT_DIR/info/exclude, but do still use the ignore
       rules given with -e options. This allows removing all untracked
       files, including build products. This can be used (possibly in
       conjunction with git reset) to create a pristine working directory
       to test a clean build.

Dostępne są również inne flagi, po prostu sprawdź git clean --help.


BTW, możesz po prostu zrobić git clean {flags}: / więc będzie tak, jakbyś uruchomił polecenie w katalogu głównym repo
The-null-Pointer-

19

Dla mnie działały tylko:

git clean -ffdx

We wszystkich innych przypadkach otrzymywałem komunikat „Skipping Directory” dla niektórych podkatalogów.


2
Dzięki. Pominąłem -xi po prostu git clean -ffdunikałem kasowania plików w .gitignore.
Feckmore,

15

Jeśli chcesz tylko usunąć pliki wymienione jako nieśledzone przez „git status”

git stash save -u
git stash drop "stash@{0}"

Wolę to niż „git clean”, ponieważ „git clean” usunie pliki ignorowane przez git, więc twoja następna kompilacja będzie musiała odbudować wszystko i możesz stracić ustawienia IDE.


3
Spowoduje to również usunięcie prawidłowych zmian w śledzonych plikach. Nie poleciłbym tego.
code_dredd

2
Tak, najpierw musisz zatwierdzić zmiany w śledzonych plikach.
jazzdev

14

Aby wiedzieć, co zostanie usunięte przed faktycznym usunięciem:

git clean -d -n

Wyprowadzi coś takiego:

Usunąłby sample.txt

Aby usunąć wszystko wymienione w danych wyjściowych poprzedniego polecenia:

git clean -d -f

Wyprowadzi coś takiego:

Usuwanie sample.txt


11

Aby usunąć nieśledzone pliki, należy najpierw użyć polecenia, aby wyświetlić pliki, na które będzie miało wpływ czyszczenie

git clean -fdn

Spowoduje to wyświetlenie listy plików, które zostaną usunięte. Teraz, aby faktycznie usunąć te pliki, użyj tego polecenia:

git clean -fd

11

Zachowaj ostrożność podczas uruchamiania polecenia `git clean`.

Zawsze używaj -n przed uruchomieniem właściwego polecenia, ponieważ pokaże, jakie pliki zostaną usunięte.

git clean -n -d 
git clean -f -d

Domyślnie git cleanusuwa tylko nieśledzone pliki, które nie są ignorowane. Każdy plik pasujący do wzorca w .gitignore lub innych plikach ignorowania nie zostanie usunięty. Jeśli chcesz usunąć te pliki, możesz dodać -xpolecenie do polecenia clean.

git clean -f -d -x

Dostępny jest również tryb interaktywny -iz poleceniem czyszczenia

git clean -x -i

Alternatywnie

Jeśli nie masz 100% pewności, że usunięcie niezaangażowanej pracy jest bezpieczne, możesz zamiast tego użyć ukrywania

git stash --all

Będzie również wyczyścić katalog ale daje elastyczność, aby pobrać pliki w dowolnym momencie za pomocą zapas z zastosowania lub pop . Następnie możesz wyczyścić skrytkę, używając:

git stash drop // or clean

2
skrytka jest dobrym pomysłem, jednak możesz chcieć użyćgit stash save and type some comment as to what this stash was for
lacostenycoder


9

uggested Polecenie usuwania nieśledzonych plików z git docs jest git clean

oczyść się - Usuń nieśledzone pliki z drzewa roboczego

Sugerowana metoda: tryb interaktywny, git clean -i dzięki któremu możemy mieć nad nim kontrolę. zobacz pozostałe dostępne opcje.

Dostępne opcje:

git clean 
    -d -f -i -n -q -e -x -X (can use either)

Wyjaśnienie:

1. -d

Usuń nieśledzone katalogi oprócz nieśledzonych plików. Jeśli nieśledzony katalog jest zarządzany przez inne repozytorium Git, domyślnie nie jest usuwany. Użyj opcji -f dwa razy, jeśli naprawdę chcesz usunąć taki katalog.

2. -f, --force

Jeśli zmienna konfiguracyjna Git clean.requireForce nie jest ustawiona na false, git clean odmówi uruchomienia, chyba że podano -f, -n lub -i.

3. -i, --interactive

Pokaż, co można zrobić, i czyść pliki interaktywnie. Szczegółowe informacje zawiera „Tryb interaktywny”.

4. -n, --dry-run

Tak naprawdę niczego nie usuwaj, po prostu pokaż, co można zrobić.

5. -q, - cicho

Bądź cicho, zgłaszaj tylko błędy, ale nie pliki, które zostały pomyślnie usunięte.

6. -e, --exclude =

Oprócz wzorców znalezionych w .gitignore (dla katalogu) i $ GIT_DIR / info / exclude, należy również uwzględnić te wzorce w zestawie obowiązujących reguł ignorowania.

7. -x

Nie używaj standardowych reguł ignorowania odczytanych z .gitignore (dla katalogu) i $ GIT_DIR / info / exclude, ale nadal używaj reguł ignorowania podanych z opcjami -e. Umożliwia to usunięcie wszystkich nieśledzonych plików, w tym produktów kompilacji. Można tego użyć (ewentualnie w połączeniu z git reset), aby stworzyć nieskazitelny katalog roboczy do testowania czystej wersji.

8. -X

Usuń tylko pliki ignorowane przez Git. Może to być przydatne do odbudowania wszystkiego od zera, ale zachowaj ręcznie utworzone pliki.


Myślę, że masz literówkę, uggestedale to tylko „ uggestionlol
lacostenycoder

8

Normalne git cleanpolecenie nie usuwa nieśledzonych plików z moim git version 2.9.0.windows.1.

$ git clean -fdx     # doesn't remove untracked files
$ git clean -fdx *   # Append star then it works!

7

Możemy łatwo usunąć lokalne nieśledzone pliki z bieżącego drzewa roboczego git, używając poniższych komentarzy git.

git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

Przykład:

git reset --hard HEAD

Linki:

  1. https://git-scm.com/docs/git-reset
  2. Jak użyć „git reset --hard HEAD”, aby powrócić do poprzedniego zatwierdzenia?
  3. Zresetuj gałąź repozytorium lokalnego tak, aby działała jak HEAD
  4. https://jwiegley.github.io/git-from-the-bottom-up/3-Reset/4-doing-a-hard-reset.html

Spowoduje to również usunięcie zmian wprowadzonych dla zatwierdzenia, a nie tylko nieśledzonych plików, które mogą nie być tym, czego chcesz.
chrapliwy

Nie działa: pozostawia niektóre pliki. git clean -ffdxjest rozwiązaniem
Eugene Gr. Philippov

7

Wyczyść repozytorium git i wszystkie podmoduły rekurencyjnie

Następujące polecenie wyczyści rekurencyjnie bieżące repozytorium git i wszystkie jego podmoduły:

(git clean -d -x -f && git submodule foreach --recursive git clean -d -x -f)

z pewnością należy tego używać z wielką ostrożnością
lacostenycoder

6
git clean -f

usunie nieśledzone pliki z bieżącego gita

git clean -fd

jeśli chcesz usunąć katalogi i pliki, spowoduje to usunięcie tylko nieśledzonych katalogów i plików


5

oh-my-zsh z zsh zapewnia te wspaniałe aliasy poprzez wtyczkę git. Mogą być również używane w bashu.

gclean='git clean -fd'
gpristine='git reset --hard && git clean -dfx'

  • gclean usuwa nieśledzone katalogi oprócz nieśledzonych plików .
  • gpristinemocno zresetuj lokalne zmiany, usuń nieśledzone katalogi, nieśledzone pliki i nie używaj standardowych reguł ignorowania odczytanych z .gitignore (dla katalogu) i $ GIT_DIR / info / exclude, ale nadal używaj reguł ignorowania podanych z opcjami -e. Umożliwia to usunięcie wszystkich nieśledzonych plików, w tym produktów kompilacji. Można tego użyć (ewentualnie w połączeniu z git reset), aby stworzyć nieskazitelny katalog roboczy do testowania czystej kompilacji .

2
Dzięki za opinie, moje oświadczenie było mylące. Chciałem powiedzieć, że podświetlone aliasy pochodzą automatycznie z och-my-zsh. Oczywiście działają świetnie bash. Zredagowałem swoją odpowiedź, aby to odzwierciedlić.
ZenLulz

4

Lubię używać git stashpolecenia, później można uzyskać ukryte pliki i zmiany. git cleanjest również dobrą opcją, ale całkowicie zależy od twoich wymagań. oto wyjaśnienie git stash i git clean, 7.3 Git Tools - Stashing and Cleaning

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.