Professionele Git- en GitHub-werkwijze · Les

Geschiedenis herschrijven met git filter-repo

Leer hoe u op grote schaal de geschiedenis van een repository herschrijft om grote bestanden of gevoelige gegevens te verwijderen met git filter-repo.

Les 4 van 413 stappen

Geschiedenis herschrijven met git filter-repo is een gratis Professionele Git- en GitHub-werkwijze-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Professionele Git- en GitHub-werkwijze. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Professionele Git- en GitHub-werkwijze bevat in totaal 4 lessen.

Waarom de geschiedenis herschrijven?

Soms moet je de volledige geschiedenis van een repository herschrijven: om een gelekt wachtwoord te verwijderen, grote bestanden te verwijderen die per ongeluk zijn gecommit, of auteurs-e-mailadressen in alle commits te corrigeren.

Maak kennis met git filter-repo

git filter-repo is de moderne, snelle tool voor het herschrijven van geschiedenis. Het vervangt het oude en trage git filter-branch.

De tool installeren

Het is een afzonderlijk programma dat je vaak via pip of een pakketbeheerder installeert.

pip install git-filter-repo

Werk altijd op een kloon

Het herschrijven van geschiedenis is destructief. Werk op een verse kloon, zodat je die kunt weggooien als er iets misgaat.

git clone --mirror git@github.com:you/repo.git

Een bestand uit de geschiedenis verwijderen

Gebruik de opties --path en --invert-paths om een bestand uit elke commit te verwijderen.

git filter-repo --path secrets.env --invert-paths

Grote blobs verwijderen

Je kunt bestanden boven een bepaalde grootte verwijderen om een opgeblazen repository kleiner te maken.

git filter-repo --strip-blobs-bigger-than 10M

Auteurs-e-mailadressen herschrijven

Corrigeer een verkeerd auteurs-e-mailadres in alle commits met een mailmap of callback.

git filter-repo --mailmap my-mailmap.txt

Tekst in de geschiedenis vervangen

Verwijder geheime tekenreeksen overal waar ze voorkomen met een bestand met expressies.

git filter-repo --replace-text expressions.txt

Commit-hashes veranderen

Het herschrijven van geschiedenis maakt nieuwe commit-hashes voor alles wat wordt beïnvloed. De geschiedenis van de repository wijkt daardoor af van oude kopieën.

Het resultaat geforceerd pushen

Na het herschrijven moet je geforceerd pushen, omdat de geschiedenis op afstand niet langer overeenkomt.

git push --force --all

Stem af met je team

Omdat de klonen van iedereen nu verouderd zijn, moeten teamgenoten de repository opnieuw klonen. Kondig het herschrijven aan om te voorkomen dat de verwijderde gegevens opnieuw verschijnen.

Korte controle

Test je begrip van het herschrijven van geschiedenis.

Samenvatting

Je hebt geleerd hoe je geschiedenis herschrijft:

  • git filter-repo vervangt filter-branch
  • Verwijder bestanden, grote blobs of geheime tekst uit de volledige geschiedenis
  • Werk altijd op een kloon; commit-hashes veranderen
  • Push geforceerd en laat het team daarna de repository opnieuw klonen
Gratis beginnen

Leer Professionele Git- en GitHub-werkwijze met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Geschiedenis herschrijven met git filter-repo” gratis?

Ja — de volledige tekst van “Geschiedenis herschrijven met git filter-repo” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Professionele Git- en GitHub-werkwijze wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Professionele Git- en GitHub-werkwijze bevat in totaal 4 lessen.

Wat leer ik in “Geschiedenis herschrijven met git filter-repo”?

Leer hoe u op grote schaal de geschiedenis van een repository herschrijft om grote bestanden of gevoelige gegevens te verwijderen met git filter-repo. Je oefent met Professionele Git- en GitHub-werkwijze door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Professionele Git- en GitHub-werkwijze te beginnen?

Ervaring vooraf is niet nodig. Professionele Git- en GitHub-werkwijze op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Geschiedenis herschrijven met git filter-repo”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Professionele Git- en GitHub-werkwijze?

Ja. Elke les over Professionele Git- en GitHub-werkwijze bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Git Reflog en geschiedenis herstellen
  2. Git Bisect voor debugging
  3. Repositoryonderhoud en opruimen
  4. Geschiedenis herschrijven met git filter-repo
← Terug naar Professionele Git- en GitHub-werkwijze