Historie mit git filter-repo umschreiben
Lernen Sie, mit git filter-repo die Repository-Historie in großem Umfang umzuschreiben, um große Dateien oder vertrauliche Daten zu entfernen.
Historie mit git filter-repo umschreiben ist eine kostenlose Git & GitHub Professional Workflow-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Git & GitHub Professional Workflow-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Git & GitHub Professional Workflow-Kurs umfasst insgesamt 4 Lektionen.
Warum die Historie umschreiben?
Manchmal müssen Sie die gesamte Historie eines Repositorys umschreiben: um ein offengelegtes Passwort zu entfernen, versehentlich committete große Dateien zu löschen oder Autoren-E-Mail-Adressen in allen Commits zu korrigieren.
git filter-repo kennenlernen
git filter-repo ist das moderne, schnelle Tool zum Umschreiben der Historie. Es ersetzt das alte und langsame git filter-branch.
Das Tool installieren
Es handelt sich um ein separates Programm, das häufig über pip oder einen Paketmanager installiert wird.
pip install git-filter-repoImmer auf einem Klon arbeiten
Das Umschreiben der Historie ist destruktiv. Arbeiten Sie mit einem frischen Klon, damit Sie ihn bei Problemen einfach verwerfen können.
git clone --mirror git@github.com:you/repo.gitEine Datei aus der Historie entfernen
Um eine Datei aus jedem Commit zu entfernen, verwenden Sie die Optionen --path und --invert-paths.
git filter-repo --path secrets.env --invert-pathsGroße Blobs entfernen
Sie können Dateien oberhalb eines Größenschwellenwerts entfernen, um ein aufgeblähtes Repository zu verkleinern.
git filter-repo --strip-blobs-bigger-than 10MAutoren-E-Mail-Adressen umschreiben
Korrigieren Sie eine falsche Autoren-E-Mail-Adresse in allen Commits mit einer mailmap oder einem callback.
git filter-repo --mailmap my-mailmap.txtText in der Historie ersetzen
Bereinigen Sie geheime Zeichenfolgen überall dort, wo sie vorkommen, mithilfe einer Datei mit Ausdrücken.
git filter-repo --replace-text expressions.txtCommit-Hashes ändern sich
Beim Umschreiben der Historie entstehen für alles Betroffene neue Commit-Hashes. Die Historie des Repositorys weicht dann von allen alten Kopien ab.
Das Ergebnis per Force-Push übertragen
Nach dem Umschreiben müssen Sie einen Force-Push ausführen, da die Historie auf dem Remote nicht mehr übereinstimmt.
git push --force --allMit dem Team koordinieren
Da die Klone aller Personen nun veraltet sind, müssen Teammitglieder das Repository neu klonen. Kündigen Sie das Umschreiben an, damit die entfernten Daten nicht wiederhergestellt werden.
Kurzer Check
Testen Sie Ihr Verständnis vom Umschreiben der Historie.
Zusammenfassung
Sie haben gelernt, die Historie umzuschreiben:
git filter-repoersetzt filter-branch- Entfernen Sie Dateien, große Blobs oder geheimen Text aus der gesamten Historie
- Arbeiten Sie immer auf einem Klon; Commit-Hashes ändern sich
- Führen Sie anschließend einen Force-Push aus und lassen Sie das Team das Repository neu klonen
Häufig gestellte Fragen
Ist die Lektion „Historie mit git filter-repo umschreiben“ kostenlos?
Ja — der vollständige Text von „Historie mit git filter-repo umschreiben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Git & GitHub Professional Workflow-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Git & GitHub Professional Workflow-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Historie mit git filter-repo umschreiben“?
Lernen Sie, mit git filter-repo die Repository-Historie in großem Umfang umzuschreiben, um große Dateien oder vertrauliche Daten zu entfernen. Du übst Git & GitHub Professional Workflow mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Git & GitHub Professional Workflow zu starten?
Keine Vorkenntnisse erforderlich. Git & GitHub Professional Workflow auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Historie mit git filter-repo umschreiben“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Git & GitHub Professional Workflow-Lektion Code schreiben und ausführen?
Ja. Jede Git & GitHub Professional Workflow-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Git Reflog und Verlauf wiederherstellen
- Git Bisect zum Debuggen
- Repository-Wartung und Aufräumen
- Historie mit git filter-repo umschreiben