Sie können eine Übergabe erstellen, die eine leere Arbeitskopie enthält.
Dies ist ein im Allgemeinen sicherer, nicht destruktiver Ansatz, da er keine Brute-Force-Reset-Mechanismen beinhaltet. Zuerst verstecken Sie alle verwalteten Inhalte mit git checkout empty
dann können Sie alle nicht verwalteten Inhalte manuell überprüfen und entfernen.
## create a stand-alone, tagged, empty commit
true | git mktree | xargs git commit-tree | xargs git tag empty
## clear the working copy
git checkout empty
Ihre Arbeitskopie sollte nun frei von verwalteten Inhalten sein. Alles, was bleibt, sind nicht verwaltete Dateien und die .git
Ordner selbst.
So füllen Sie Ihre Arbeitskopie neu auf...
git checkout master ## or whatever branch you will be using
Wenn Sie ein vorausschauender Mensch sind, könnten Sie Ihr Repository auf dem richtigen Fuß beginnen, indem Sie alles auf einem leeren Commit aufbauen...
git init
git commit --allow-empty --allow-empty-message -m ""
git tag empty
...
Es gibt verschiedene Verwendungsmöglichkeiten für einen markierten leeren Arbeitsbaum. Mein Favorit ist im Moment, die Wurzel unter einem Satz von git worktree
Unterordner.
0 Stimmen
Interaktiver Ansatz: git clean -i -fd
11 Stimmen
Ich verstehe nicht, warum diese Frage so oft gestellt wurde. markiertes Duplikat . Diese andere Frage befasst sich eindeutig nur mit dem Entfernen
untracked
Dateien vonworking directory
und nichtmodified
Dateien0 Stimmen
@y2k-shubham Sicher, aber こん Frage ist vage und bezieht sich nicht ausdrücklich auf geänderte Dateien.