kann keine Git-Repos über http klonen; info/refs nicht gefunden
Lesezeit: 2 Minuten
epl
Ich versuche, ein Git-Repository für den schreibgeschützten Zugriff über http verfügbar zu machen.
Ich mache es auf die alte Art, weil git-http-backend ist auf meinem Hostsystem nicht verfügbar. Das heißt, ich lege das Bare-Repository einfach an einem Ort ab, auf den über http zugegriffen werden kann.
Ich habe das Bare-Repository erfolgreich auf dem Host mit erstellt git clone --bare <some-remote-location>.
Wenn ich jetzt mit git auf den neuen Klon zeige git clone http://my.host.name/locationmeldet eine Meldung repository not found.
Wenn ich den Netzwerkverkehr erfasse, sehe ich, dass Git versucht, darauf zuzugreifen http://my.host.name/location/info/refs. Es wäre zu erwarten, dass dies fehlschlägt, da es keine gibt info/refs Pfad im Repository. Vielmehr gibt es info und refs Verzeichnisse direkt unter dem Repository-Root.
Offensichtlich ist das geklonte Bare-Repository nicht wie vom Client erwartet strukturiert. Weiß jemand woran das liegen könnte?
Sie müssen rennen git update-server-info auf dem Server, um die Dateien zu generieren, die für das Funktionieren des „dummen Protokolls“ erforderlich sind.
Außerdem müssen Sie dies in einem Bare-Repository tun
Grundsätzlich, nachdem Sie die git clone --bare <path-to-repository>du musst laufen mv hooks/post-update.sample hooks/post-update mit Ihrem Bare-Repository und dann a git update-server-info einmal und dann sollten Sie in der Lage sein, das Repo zu klonen.
Ich hatte dieses Problem, wenn die Fernbedienung auf einem Git-Repository 1.7.X läuft und der Git-Client 1.8.X ist; Ich habe es bewiesen, indem ich meinen Client auf 1.7.X heruntergestuft habe – dadurch wurde das Problem behoben. Stellen Sie also sicher, dass Git auf “Client”- und “Server”-Seite dieselbe Version hat. Der Befehl, den ich ausführte, war git clone .
Denken Sie auch daran, zu überprüfen, ob die erforderlichen Module auf Apache aktiviert sind. Dies sind die erforderlichen Module für Git über HTTP:
mod_alias
mod_cgi
mod_env
Ich hatte den gleichen Fehler beim Versuch, a gitlab-Projekt weil ich einen falschen Weg eingeschlagen habe!
Ich nahm die SSH Weg statt der HTTP Weg. (+ nicht vergessen .git)
git clone *HTTP_path.git*
11579800cookie-checkkann keine Git-Repos über http klonen; info/refs nicht gefundenyes