ne peut pas clone git repos via http; info/refs pas trouvé
Je suis en train de faire un dépôt git disponibles pour un accès en lecture seule sur http.
Je le fais à l'ancienne façon, parce que git-http-backend
n'est pas disponible sur mon système hôte. C'est, je suis tout simplement en mettant le dépôt nu dans un http endroit accessible.
J'ai créé un dépôt nu avec succès sur l'ordinateur hôte à l'aide de git clone --bare <some-remote-location>
.
Maintenant, quand j'point de git pour le nouveau clone à l'aide de git clone http://my.host.name/location
, un message indique repository not found
.
Quand j'ai capturer le trafic réseau, je vois que git est tentant d'accéder à http://my.host.name/location/info/refs
. Ce serait attendu à l'échec car il n'est pas info/refs
chemin dans le référentiel. Plutôt il y a info
et refs
répertoires directement sous la racine du dépôt.
Évidemment la cloné dépôt nu n'est pas structuré comme prévu par le client. Personne ne sait à quoi cela peut-il être?
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin pour exécuter
git update-server-info
sur le serveur pour générer les fichiers nécessaires pour le “stupide protocole de travail.Essayez les étapes mentionnées ici git-scm pour http/s protocole.
En gros, après avoir fait de la
git clone --bare <path-to-repository>
, vous devez exécutermv hooks/post-update.sample hooks/post-update
au sein de votre dépôt nu et puis faire ungit update-server-info
une fois et ensuite, vous devriez être en mesure de cloner le repo.J'ai eu ce problème lorsque la télécommande est en cours d'exécution sur un dépôt git 1.7.X et le client de git est de 1,8.X ; j'ai prouvé par la dégradation de mon client à 1,7.X - cela a réglé le problème. Donc, assurez-vous que git est la même version sur le "client" et "serveur" sur les côtés. La commande que j'était en cours d'exécution a été git clone .
Rappelez-vous également de vérifier que les modules nécessaires sont activé sur apache. Ce sont les modules requis pour git sur HTTP:
J'ai eu la même erreur en essayant de cloner un gitlab projet car j'ai mis un mauvais chemin !
J'ai pris le
SSH
chemin d'accès au lieu de laHTTP
chemin. (+ ne pas oublier le.git
)