So ersetzen Sie beschädigte Git-Objekte durch neue, die aus meinen Dateien erstellt wurden

8

Meine App in meinem Dateisystem funktioniert einwandfrei. Alle Tests bestehen.

Ich bin ein einziger Entwickler, der Git hauptsächlich dazu benutzt, Heroku zu benutzen, und auch für Backup.

Git funktioniert wegen beschädigter Objekte nicht mehr.

Ich bekomme Fehler, die so aussehen:

%Vor%

(Und viele andere Fehler, die alle beschädigte Objekte zitieren.)

Wie bekomme ich Git, um die beschädigten Objekte zu entfernen und sie durch neue Objekte zu ersetzen, die aus der Arbeitskopie meiner App erstellt wurden?

Git init hat das Problem nicht gelöst.

Danke!

    
steven_noble 02.02.2010, 11:59
quelle

1 Antwort

10

Sie müssen git-fsck verwenden. Das Handbuch hat Details , aber das Wesentliche ist, dass git-fsck dies tun wird Stellen Sie sicher, dass das Repository intern konsistent ist, und listen Sie die fehlenden Objekte auf. Verwenden Sie dann git hash-object -w <correct-file> , um die angegebene Datei in das Repository zu übernehmen. Wenn die Datei, die dem Hash-Objekt übergeben wird, wirklich die beschädigte Datei ist, ist Ihr Repository nun wieder fertig:).

Aktualisiert, um hinzuzufügen: Git repair tut die gleichen Dinge, aber automatisch:).

    
Andrew Aylett 02.02.2010, 12:06
quelle

Tags und Links