6291 Stimmen

Wie verwerfe ich nicht bereitgestellte Änderungen in Git?

Wie verwerfe ich Änderungen in meiner Arbeitskopie, die nicht im Index enthalten sind?

0 Stimmen

16 Stimmen

git-clean entfernt nur die nicht verfolgten Dateien aus dem Arbeitsbaum git-scm.com/docs/git-clean

37 Stimmen

Um den obigen Kommentar von Asenar zu verdeutlichen, git-clean -df kann gefährlich sein. Es löscht lokale, nicht verfolgte Dateien (z. B. solche, die durch eine .gitignore-Datei abgedeckt sind). Lesen Sie die folgenden Hinweise sorgfältig durch und erwägen Sie stattdessen git checkout .

21voto

Khem Raj Regmi Punkte 1714

Haben Sie einen sehr einfachen Git-Befehl git checkout .

17voto

msangel Punkte 9340

Unabhängig davon, in welchem Zustand sich Ihr Projektarchiv befindet, können Sie jederzeit zu einer früheren Übertragung zurückkehren:

git reset --hard <commit hash>

Dies verwirft alle Änderungen, die nach diesem Commit gemacht wurden.

4 Stimmen

Dadurch wird auch alles im Index verworfen (nicht nur Dinge, die nicht im Index stehen), was über das hinausgeht, worum der OP bittet.

16voto

vivekporwal04 Punkte 415
cd path_to_project_folder  # take you to your project folder/working directory 
git checkout .             # removes all unstaged changes in working directory

16voto

GlassGhost Punkte 14832

Dies funktioniert sogar in Verzeichnissen, die außerhalb der normalen Git-Berechtigungen liegen.

sudo chmod -R 664 ./* && git checkout -- . && git clean -dfx

Das ist mir kürzlich passiert

0 Stimmen

Beachten Sie jedoch, dass der von Git ignorierte Inhalt seine ursprünglichen Berechtigungen nicht beibehält! Daher kann dies ein Sicherheitsrisiko darstellen.

0 Stimmen

@twicejr Sie liegen falsch, bitte lesen Sie git help clean "-d Nicht verfolgte Verzeichnisse zusätzlich zu den nicht verfolgten Dateien entfernen".

0 Stimmen

Warum haben Sie alle Ihre Dateien so eingestellt, dass sie weltweit gelesen und geschrieben werden können? Das ist keine gute Praxis.

14voto

Lahiru Jayaratne Punkte 1576

Meiner Meinung nach,

git clean -df

sollte das genügen. Gemäß Git-Dokumentation zu git clean

git-clean - Entfernt nicht verfolgte Dateien aus dem Arbeitsbaum

Beschreibung

Bereinigt den Arbeitsbaum durch rekursives Entfernen von Dateien, die die nicht unter Versionskontrolle stehen, beginnend mit dem aktuellen Verzeichnis.

Normalerweise werden nur Dateien, die Git unbekannt sind, entfernt, aber wenn die Option -x angegeben wird, werden auch ignorierte Dateien entfernt. Dies kann z. B, nützlich sein, um alle Build-Produkte zu entfernen.

Wenn optionale ...-Argumente angegeben werden, sind nur diese Pfade betroffen.

Opciones

-d Entfernt nicht verfolgte Verzeichnisse zusätzlich zu den nicht verfolgten Dateien. Wenn ein nicht verfolgtes Verzeichnis von einem anderen Git-Repository verwaltet wird, wird es standardmäßig nicht entfernt. Verwenden Sie die Option -f zweimal, wenn Sie wirklich ein solches Verzeichnis wirklich entfernen wollen.

-f --force Wenn die Git-Konfigurationsvariable clean.requireForce nicht auf false gesetzt ist, verweigert git clean die Ausführung, sofern nicht -f, -n oder -i angegeben wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X