4 Pluspunkte 0 Minuspunkte
Ich habe unabsichtlich einen Commit gepusht indem sensible Daten eingetragen waren die ich jetzt wieder aus der History raus bekommen muss. Wie kann ich das am besten machen ohne das ganze Projekt neu aufzusetzen?
von  
Git Rebase könnte sein, wonach du suchst. https://git-scm.com/docs/git-rebase

1 Antwort

3 Pluspunkte 0 Minuspunkte

Du könntest "git filter-branch" verwenden, um Daten aus der Commit History zu entfernen. Erstelle davor unbedingt ein Backup des gesamten Projekt!

git filter-branch --tree-filter "rm -f explicit_file.cpp" -- --all

--tree-filter führt den angegebenen Befehl auf dem Arbeitsverzeichnis jedes Commits aus. In diesem Fall wird der Befehl "rm -f explicit_file.cpp" ausgeführt, um die Datei aus dem Arbeitsverzeichnis jedes Commits zu entfernen.

Dabei werden alle Verweise auf die Datei "explicit_file.cpp" aus der Commit-History entfernt. Auch die Datei selbst, du musst sie also danach neu erstellen bzw. aktualisieren.

Wichtig ist, alle Beteiligten darüber zu informieren dass sie ihre lokalen Kopien nach dem erzwungenen Push aktualisieren.

von (716 Punkte)