Wie lösche/entferne ich Dateien aus einem Push-Commit?

Wie lösche/entferne ich Dateien aus einem Push-Commit?

ist es möglich, einige unerwünschte Dateien aus dem Remote- und lokalen Repository zu löschen/entfernen?
Ich war etwas zu schnell und habe 5 Dateien in das Remote-Repository geschoben. Jetzt hat mein Kollege seine Arbeit verschoben und diese unerwünschten Dateien zu spät gesehen. Jetzt gibt es also 2 Commits nach meinem „falschen“ Commit.

Ich habe versucht,

git rebase -i HEAD~3

und änderte den ersten Eintrag in "Bearbeiten" und löschte die unerwünschten Dateien. Als nächstes benutzte ich

git commit --amend
git rebase --continue

Aber GIT wird es nicht abschließen. Es heißt immer, dass ich beim letzten Commit bin und ein Rebase im Gange ist. Aber ich kann es nicht abschließen.

Antwort1

Sie können ungewollte Dateien ganz einfach aus lokalen Git-Repositories entfernen:
Entfernen Sie sie einfach mit
git rm file
oder
git rm -r directory(wenn Sie das --cachedFlag - hinzufügen, wird die Datei nicht aus Ihrem Dateisystem entfernt). Führen Sie dann ein Commit (oder ein Commit --amend) aus, um die Datei aus dem letzten Commit zu entfernen (sie bleibt jedoch im Verlauf erhalten). Siehe auchHier

Wenn Sie es aus einem Remote-Repo entfernen möchten, führen Sie dieselben Schritte aus und pushen Sie anschließend.

Antwort2

git rm file
git commit --amend
git push origin HEAD:refs/for/develop

verwandte Informationen