Git: Kaputtes Repo neu aufbauen/reparieren

Defektes Filesystem und git pull funktioniert nicht richtig? Dann kann das Repo kaputt sein (Bezug zu parent-Einträgen nicht mehr möglich oder …) Ein meinem Fall kam nach einem git pull der ominöse Hinweis, dass das Repo aus Performance-Gründen optimiert werden sollte. Ein git gc brachte dann Fehlermeldungen. Das Repo war beschädigt.

mv -v .git .git_old &&            # (1)
git init &&                       # (2)
git remote add origin "git@gitlab.infosys.de:etacs/etacs_production.git" && # (3)
git fetch &&                      # (4)
git reset origin/master --mixed   # (5)
git pull                          # (6)
git branch --set-upstream-to=origin/master master # (7)
  1. Altes Repo sichern
  2. Neues Repo initialisieren
  3. Repo mit Remote-Repo verbinden (die URL steht in .git/config – oder nach Sichern .git_old/config))
  4. Repo aktualisieren
  5. Master Branch resetten
  6. Inhalte runterladen (wenn Git sich jetzt beschwert, dann den Upstream setzen -> 7)
  7. Upstream setzen