2010-11-17 7 views
1

J'ai ce référentiel que je souhaite partager mais pas nécessairement en le mettant sur github ou d'autres hébergeurs Git.Publier Git repo sur un fournisseur Web uniquement (sans shell)

Mon site web est hébergé chez un fournisseur (OVH) qui donne seulement un accès ftp, aucun ssh ou shell disponible.

Ma question est: est-il possible de rendre un référentiel git en lecture seule disponible avec ce fournisseur, en utilisant seulement http?

Si oui, comment? Et puis, quelle serait la commande à émettre si je veux cloner ce repo sur mon bureau?

Merci!

Répondre

4

Update:

Voir aussi Git Book - Setting up a public repository:

Tout ce que vous devez faire est de placer le dépôt git nu nouvellement créé dans un dossier qui est exporté par le serveur web, et faire quelques Ajustements pour fournir aux clients Web des informations supplémentaires dont ils ont besoin:

$ mv proj.git /home/you/public_html/proj.git 
$ cd proj.git 
$ git --bare update-server-info 
$ chmod a+x hooks/post-update 

Annoncez l'URL de proj.git. Toute autre personne devrait alors être en mesure de cloner ou de tirer de cette URL, par exemple avec une ligne de commande comme:

$ git clone http://yourserver.com/~you/proj.git 

Il devrait fonctionner simplement en créant un dépôt git nu et le mettre dans votre espace web . git peut gérer les URL http. Voir git-clone:

En général, les URL contiennent des informations sur le protocole de transport, l'adresse du serveur distant, et le chemin vers le référentiel. Selon le protocole de transport, certaines de ces informations peuvent être absentes. Git supporte nativement les protocoles ssh, git, http, https, ftp, ftps et rsync. Les syntaxes suivants peuvent être utilisés avec eux:

ssh: // [@ user] host.xz [: port] /path/to/repo.git/

git: //host.xz [: port] /path/to/repo.git/

http [s]: //host.xz [: port] /path/to/repo.git/

ftp [s]: // host .xz [: port] /path/to/repo.git/

rsync: //host.xz/path/to/repo.git/

+0

Fera, merci. – Gui13

+0

J'avais aussi besoin d'un changement de nom avant chmod: mv hooks/post-update.sample hooks/post-update, je ne sais pas si c'est généralement vrai mais ça vaut probablement la peine de l'ajouter. – cmaglie

0

Peut-être que gitweb peut vous aider.

+2

Eh bien ce n'est pas que je voudrais fournir une interface web pour parcourir le dépôt, je voudrais juste le rendre disponible en ligne pour le clonage. D'autre part, votre réponse m'a donné des pointeurs vers git-php qui serait l'interface web qui correspondrait probablement à mes besoins si je voulais une interface (mon fournisseur ne supporte pas perl). – Gui13

0

Peut-être que cela aiderait:

Ils sont assez vieux, mais j'espère pas démodé.

Questions connexes