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 --cached
Flag - 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