Ich benutze Ubuntu 14.10 (64bit), git Version 2.1.0. Dies ist ein Repository, das seit mehreren Jahren existiert und in letzter Zeit Probleme verursacht hat.Wie wird mein Git-Repository immer beschädigt?
Manchmal werde ich Filialen wechseln, eine Datei bearbeiten und git status eingeben. Es wird eine Reihe von Dateien als "modifiziert" angezeigt, die sich überhaupt nicht geändert haben.
Wenn ich geben Sie den folgenden:
$ git commit -am "fixed sms message"
ich Fehler wie diese:
error: short read No such file or directory
error: globalstatic/images/console/avatar_f.gif: failed to insert intodatabase
error: unable to index file globalstatic/images/console/avatar_f.gif
fatal: updating files failed
Wenn ich nichts anderes tun, als die Pfeil nach oben drücken Sie die Taste und drücken Sie die Eingabetaste erneut, I‘ Ich bekomme eine Fehlermeldung über die nächste Datei, die in git status
angezeigt wurde, die sich nie wirklich geändert hat. Ich kann dies tun, bis ich die Liste der Dateien in git status
, die sich nicht geändert hat, erschöpft haben, und dann wird es korrekt Commit.
meldet, dass es Probleme gefunden hat, aber tatsächlich nichts repariert. Ich muss einfach weitermachen, bis es funktioniert. Hier Ausgabe von git fsck --full
, wenn es mir Probleme geben:
Checking object directories: 100% (256/256), done.
Checking objects: 100% (120625/120625), done.
dangling tag c7539416829fb0748bc32dda3beb386bac46ea9a
dangling blob 88a0700db2a75e6ea2b14b9a5af15ece63a80805
dangling blob f4c664b0044f3d5efff1148717dc68b940e08574
dangling blob 1bf6185091177fd5a496f5bf031f4d666fec92da
dangling commit fee4bdcc078789a3745aa1311f128a6b61a81736
dangling blob 9f14e68da29d49895b1ea303ed33cb390fc56b76
dangling blob 784a02e974b81f35952fb7c31bf2dcb1a7bfeda8
dangling blob 9e92d6cf395206152123f9a29edb95652114fd34
dangling commit 1294f626dcb76cafa560f65792517655fb8a52ae
dangling blob bceb1adde285e71109723211a1bcb5b0fa126681
dangling tag 19f4be8e7b53465b13359bc4350b5e87c5942560
dangling blob 93f96a3b5e995032a50723af796dab9ae36fb974
dangling blob a25bdfab82fef920935478ee2cefe4dc2e81bbf6
dangling blob af7187350341f3d7795d35cc1f0cee78eb9f9fdf
dangling blob e2a1db9e3d3d438c8b03cb6254ca492e505be6f8
Wenn ich laufe es mehr als einmal, erhalte ich die gleiche Meldung. Nichts verändert sich.
Was ist los?
Zeit, um Ihr Dateisystem und Laufwerk (e) zu überprüfen, denke ich ... Nicht nur das Repo. Vor allem, weil sie sich über Dateien im Arbeitsverzeichnis beschweren (zusätzlich zu den 'git fsck'-Problemen). – twalberg
Auf welcher Art von Dateisystem wird das gespeichert? Wird es von Dropbox oder etwas Ähnlichem synchronisiert? – jszakmeister
Eigentlich sieht es mehr aus, es sieht nicht so aus, als wäre Ihr Repo korrupt. Die herunterhängenden Objekte könnten das Ergebnis von nicht mehr vorhandenen Zweigen oder einer Neuausrichtung Ihrer Arbeit sein. Das Dangling-Tag ist ein wenig verdächtig, aber es könnte daran liegen, dass Sie irgendwo auf dem Weg ein Tag gelöscht haben. Was scheinbar geschieht, ist, dass Git sich nicht zum Repo verpflichtet. Sie können versuchen, 'GIT_TRACE = 2' an den Anfang Ihrer Befehlszeile zu setzen, um ein wenig mehr Informationen darüber zu erhalten, was vor sich geht. – jszakmeister