🔬

hflabs

💬 Discussions

EN: Made a mistake and pushed a secret or unwanted file? Here's how to clean your git history. Warning: Rewriting history requires a force push and will break forks / PRs.

# 1. Squash recent commits into one
git rebase -i HEAD~N   # replace N with number of commits

# In the editor: change "pick" to "squash" (or "s") for all but the first line

# 2. Remove a file from git history entirely
pip install git-filter-repo
git filter-repo --path secrets.txt --invert-paths

# 3. Force push the cleaned history
git push origin main --force

For detailed docs: GitHub guide


DE: Ein Secret oder eine ungewollte Datei gepusht? So säuberst du die Git-Historie. Achtung: History-Rewriting erfordert einen Force Push und zerstört Forks / PRs.

# 1. Mehrere Commits zu einem zusammenschieben
git rebase -i HEAD~N   # N durch Anzahl Commits ersetzen

# Im Editor: "pick" durch "squash" (oder "s") ersetzen, außer in der ersten Zeile

# 2. Datei komplett aus der History löschen
pip install git-filter-repo
git filter-repo --path secrets.txt --invert-paths

# 3. Bereinigte History force-pushen
git push origin main --force

Detaillierte Doku: GitHub Leitfaden