Ich versehentlich einige große binäre Daten in einige Commits verpflichtet. Seitdem habe ich mein .gitignore aktualisiert, und diese Dateien werden nicht mehr festgeschrieben. Aber ich würde gerne in die älteren Commits zurückkehren und diese Daten selektiv aus dem Repository entfernen, indem ich ein paar Verzeichnisse entferne, die in .gitignore hätten sein sollen. Ich möchte die Commits nicht selbst entfernen.Binäre Daten aus einem Git-Repository nach der Tat zu entfernen
Wie würde ich das erreichen? Meine bevorzugte Methode wäre eine Möglichkeit, die .gitignore-Regeln rückwirkend auf alte Commits anzuwenden ... eine Antwort, die diese Methode verwendet, wäre auch für andere ziemlich nützlich, da ich sicher bin, dass mein Problem nicht eindeutig ist. Es würde auch schnell auf eine allgemeine Lösung angewendet werden, ohne viel Anpassung für die eindeutige Verzeichnisstruktur jedes Benutzers.
Ist dies möglich, entweder der einfache Weg, den ich oben vorgeschlagen habe, oder auf eine etwas kompliziertere Art und Weise?
Siehe [git: Dateien oder Ordner aus dem Verlauf für immer entfernen] (http://dound.com/2009/04/git-forever-remove-files-or-folders-from-history/) und [Remove große Binärdateien aus dem Repository] (https://groups.google.com/forum/#!topic/github/ghXxynyhj0o). Sie sollten helfen. – marcog
Googling für 'Git Datei aus der Geschichte entfernen' würde Ihr Problem gelöst haben. Übrigens wird es wahrscheinlich nicht viel helfen, eine Änderung von .gitignore in die Vorgeschichte zu retransformieren und das .gitignore irgendwie rückwirkend auf alle Commits anzuwenden, da manchmal ignorierte Dateien absichtlich eingecheckt werden, und das würden Sie nicht wollen verlier diese. –