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:
git rm <Datei>
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!
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
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 <commit_id> <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!)