Von Gast (nicht überprüft) , 29 April 2026

Korruption diagnostizieren

Repositories werden durch Stromausfall, Festplattenversagen, partielle Netzwerk-Sync oder buggy Nicht-Git-Tools, die .git beruhren, beschadigt.

git fsck --full
git fsck --full --strict --no-dangling
git fsck --connectivity-only
git fsck --lost-found

Haufige Fehler und Fixes

Loose-Objekt korrupt

# on healthy clone:
git cat-file -p <sha> > /tmp/recovered
# on corrupt clone:
cd .git/objects/<xx>
mv <rest-of-sha> <rest-of-sha>.bad
git hash-object -w /tmp/recovered

Pack-Datei korrupt

for p in .git/objects/pack/pack-*.pack; do
  git verify-pack -v "$p" >/dev/null 2>&1 || echo "BAD: $p"
done
rm .git/objects/pack/pack-<sha>.{pack,idx,bitmap,rev}
git fetch --all
git repack -ad

Index korrupt

rm .git/index
git reset

Refs korrupt

git pack-refs --all
cat .git/packed-refs
git update-ref refs/heads/main <sha>

Repository-weite Wiederherstellung von einem Klon

git clone https://example.com/repo.git fresh
cd corrupt
git push ../fresh 'refs/heads/local-only:refs/heads/local-only'

Pravention

  • git fsck regelmassig ausfuhren.
  • Bare-Backups speichern.
  • Vermeiden, in .git/ manuell zu bearbeiten.
  • ECC-RAM und zuverlassigen Speicher verwenden.

Haufige Fehler

git gc auf einem korrupten Repo ausfuhren — Pruning kann die einzigen Kopien wiederherstellbarer Objekte loschen.

SHA-1-Kollisions-Schutz

git --version
echo "test" | git hash-object --stdin