Verschiedene Methoden zum Entfernen lokaler Git-Änderungen

John Wachira 20 Juni 2023
Verschiedene Methoden zum Entfernen lokaler Git-Änderungen

Dieser Artikel beschreibt die verschiedenen Methoden, die wir anwenden können, um lokale Änderungen in Git zu verwerfen. Wir werden sehen, wie Sie die folgenden lokalen Änderungen beseitigen können, vorausgesetzt, wir hätten ein Repository geklont.

  1. Stufenweise Änderungen
  2. Nicht bereitgestellte Änderungen
  3. Unverfolgte Änderungen
  4. Festgeschriebene Änderungen
  5. Festgeschriebene und übertragene Änderungen

Verschiedene Methoden zum Entfernen lokaler Git-Änderungen

Angenommen, wir haben gerade ein Git-Repository geklont, ein paar Dateiänderungen vorgenommen und die Dateien zum Commit bereitgestellt, wie verwerfen wir sie?

Gestaffelte Änderungen können wir mit dem Befehl git reset mit dem Flag --hard verwerfen. Führen Sie den Befehl wie unten dargestellt aus.

$ git reset --hard

Im nächsten Szenario haben wir Änderungen an einigen Dateien in unserem Repo vorgenommen, aber wir haben sie noch nicht zum Commit bereitgestellt. Wie verwerfen wir diese Änderungen?

Wir haben zwei Möglichkeiten; wir können entweder den Befehl git reset --hard oder den Befehl git checkout <file> verwenden. Wenn Sie es mit mehreren Dateien zu tun haben, führen Sie letztere wie unten gezeigt aus.

$ git checkout .

Dadurch wird Git angewiesen, alle Dateien so wiederherzustellen, wie sie sich in ihrem letzten festgeschriebenen Zustand befanden, wodurch die nicht bereitgestellten Änderungen verworfen werden.

Nehmen Sie ein anderes Szenario, in dem wir neue Dateien in das Repository eingeführt haben. Diese Dateien fallen unter nicht verfolgte Dateien.

Wie beseitigen wir diese Dateien?

Der Befehl git clean erledigt die Arbeit. So können Sie den Befehl ausführen.

$ git clean -f

Die Auswirkungen dieses Befehls können nicht rückgängig gemacht werden. Es ist ratsam, den Befehl als Probelauf auszuführen, um zu sehen, was verloren geht.

Sie können den Befehl wie unten dargestellt ausführen.

$ git clean -f -n

Sie können das Flag -d hinzufügen, um nicht verfolgte Verzeichnisse zu entfernen.

Bonus-Tipp

Wenn Sie die Änderungen nicht verwerfen, sondern aus dem Index entfernen möchten, können Sie sie speichern. Stashing in Git bedeutet, die Änderungen aus dem Index sicher woanders zu speichern.

Wenn Sie sie wieder benötigen, führen Sie den Befehl git stash pop aus.

Was ist, wenn wir bereits einige Änderungen festgeschrieben haben und diese entfernen müssen?

An diesem Punkt müssen wir den HEAD-Zeiger auf den übergeordneten Knoten des kürzlich erstellten Commits verschieben. Wir verwenden den Befehl git reset --hard, wie unten gezeigt.

$ git reset --hard HEAD~1

Dadurch werden die Änderungen beseitigt, die durch das Commit bei HEAD@{0} eingeführt wurden.

Sie können auch git reset --hard@{u} ausführen, um lokale Commits in einem Branch zu verwerfen und ihn mit dem Upstream-Tracking-Branch identisch zu machen.

Wenn Sie die Änderungen bereits festgeschrieben haben, können Sie eine Festschreibung erstellen, die die an den Dateien vorgenommenen Änderungen rückgängig macht, und sie an die Remote übertragen.

$ git revert <commit-hash>

Dadurch wird ein neues Commit erstellt, und Sie können es auf die Fernbedienung übertragen.

Kurz gesagt, es gibt verschiedene Methoden, mit denen wir lokale Git-Änderungen beseitigen können. Seien Sie vorsichtig, wenn Sie mit öffentlichen Repositories arbeiten.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - Git Reset