Dateien aus Git-Commit entfernen

Ich verwende Git und ich habe einige Dateien mit

git commit -a

Später stellte ich fest, dass eine Datei fälschlicherweise zum Commit hinzugefügt worden war.

Wie kann ich eine Datei aus dem letzten Commit entfernen?

ACHTUNG! Wenn Sie nur eine Datei aus Ihrer vorherigen Übertragung entfernen und auf der Festplatte behalten wollen, lesen Sie juzzlins Antwort weiter oben.

Wenn dies Ihr letzter Commit ist und Sie die Datei komplett aus Ihrem lokalen und dem entfernten Repository löschen wollen, können Sie das tun:

  1. die Datei entfernen: git rm
  2. mit dem Amend-Flag übertragen: git commit --amend

Das amend-Flag weist Git an, erneut zu committen, aber diesen Commit mit dem letzten Commit zu "verschmelzen" (nicht im Sinne von zwei Zweigen zusammenführen).

Wie in den Kommentaren erwähnt, ist die Verwendung von git rm hier wie die Verwendung des Befehls rm selbst!

Kommentare (5)

Wenn Sie die Änderungen nicht auf den Server übertragen haben, können Sie mit

git reset --soft HEAD~1

Damit werden alle Änderungen zurückgesetzt und auf eine Übergabe zurückgesetzt

Wenn Sie Ihre Änderungen gepusht haben, folgen Sie den Schritten, die von @CharlesB beantwortet wurden

Kommentare (8)

Wenn Sie die Datei mit rm entfernen, wird sie gelöscht!

Sie fügen in Git immer etwas zu einem Commit hinzu, anstatt es zu entfernen. In diesem Fall bringen Sie die Datei in den Zustand zurück, in dem sie sich vor dem ersten Commit befand (dies kann eine "rm"-Löschaktion sein, wenn die Datei neu ist) und führen dann einen erneuten Commit durch, und die Datei verschwindet.

Um die Datei in einen früheren Zustand zu versetzen:

    git checkout  <path_to_file>

oder um sie in den Zustand auf dem entfernten HEAD zurückzusetzen:

    git checkout origin/master <path_to_file>

dann ändern Sie die Übergabe und Sie sollten feststellen, dass die Datei aus der Liste verschwunden ist (und nicht von Ihrer Festplatte gelöscht wurde!)

Kommentare (0)