Ich benutze git auf meinem Windows 7-Rechner, Pushing zu einem freigegebenen Ordner auf einem Server 2008-Rechner. Das hat in den letzten 6 Monaten perfekt funktioniert. Seit gestern kann ich jedoch nicht mehr zum Remote-Repo wechseln. Jedes Mal, wenn ich versuche, erhalte ich folgendes:git push schlägt fehl, wenn ich ein gc auf dem Remote-Repo zuerst
$ git push
Counting objects: 39, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (23/23), done.
Writing objects: 100% (23/23), 8.42 KiB, done.
Total 23 (delta 15), reused 0 (delta 0)
Unpacking objects: 100% (23/23), done.
error: Couldn't set refs/heads/my-branch
To //my-server/Code/my-project.git
! [remote rejected] my-branch -> my-branch (failed to write)
error: failed to push some refs to '//my-server/Code/my-project.git
für das Googeln ‚konnte einige refs schieben‘ Fehler zunächst verschiedene Ergebnisse zu nicht haben gezogen gibt (ich bin auf dem neuesten Stand) und mit nicht das Recht Berechtigungen (Ich habe vollen Zugriff auf alles, und kann Dateien im Remote-Repo über Explorer erstellen/löschen/bearbeiten).
Ich stolperte dann über diesen Blogpost http://henke.ws/post.cfm/error-failed-to-push-some-refs, der erwähnt, dass Sie einige Aufräumbefehle auf dem Remote-Repository ausführen müssen. So lief ich git gc auf dem Remote-Repository:
$ git gc
Counting objects: 3960, done.
Compressing objects: 100% (948/948), done.
Writing objects: 100% (3960/3960), done.
Total 3960 (delta 2971), reused 3942 (delta 2964)
Und siehe da, ich kann wieder drücken!
$ git push
Counting objects: 39, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (23/23), done.
Writing objects: 100% (23/23), 8.42 KiB, done.
Total 23 (delta 15), reused 0 (delta 0)
Unpacking objects: 100% (23/23), done.
To //my-server/Code/my-project.git
8153afd..1385d28 my-branch -> my-branch
Das Problem ist aber, dass ich jetzt jedesmal, wenn ich tun möchte, einen Push einen gc auf der Remote-Repository laufen. Wenn ich das nicht mache, bekomme ich den Fehler "Fehler beim Drücken einiger Refs" erneut.
Also, warum ist mein Repo so kaputt? Wie kann ich das Problem dauerhaft beheben?
Ich bin völlig ahnungslos über Windows, also ist es ein Schuss in die Dunkelheit, aber haben Sie die Berechtigungen auf dem Server überprüft? Wenn Sie die Garbage-Collection ausführen, schreiben Sie Dateien nur mit Ihren Berechtigungen neu. – sudarkoff
hast du versucht mit git push Herkunft –
Permissions scheinen wie ein wahrscheinlicher Kandidat, aber ich habe überprüft und doppelt überprüft, sowie entfernt und erneut angewendet Vollzugriff permissiosn, entfernt und erneut angewendet meine Gruppe, etc. –