Héberger des repos privés Git sur mon propre serveur?
Je suis à la recherche d'un moyen d'accueillir privé repos git sur mon propre serveur.
J'utilise Github pour les projets Open source de la mine, mais je préfère utiliser mon propre serveur pour le stockage privé git repos.
Quelqu'un peut-il me suggérer sur le script que je devrais être en utilisant à cette fin.
Le Trac n'est pas ce que je recherche, si. Je veux quelque chose qui est, de préférence en PHP solution (juste en option) et l'esp. quelque chose qui est plus facile de l'INTERFACE utilisateur.
Toute aide est appréciée ici.
source d'informationauteur Stoic
Vous devez vous connecter pour publier un commentaire.
Bien, pour les non-gitosis/gitorious de la configuration, vous avez deux options:
/home/ac/.ssh/authorized_keys2
dont la carapace est fixé à/usr/bin/git-shell
. Cela signifie qu'ils ne seront pas en mesure de se connecter en tant qu'utilisateur de linux avec un shell et ainsi de faire n'importe quoi sauf l'utilisation de git sur votre machine.Dans les deux cas, l'utilisateur en question des besoins (lecture|écriture|les deux) l'accès au dépôt git, en fonction de vos besoins, que ce soit en tant qu'utilisateur ou en tant que partie d'un groupe.
Il peut faire sens pour vous d'avoir un répertoire /git/projet de puis ont de l'utilisateur référentiels de là, comme le fait d'avoir plusieurs personnes en le poussant vers la même référentiel est généralement une mauvaise idée (les gens à casser des choses trop facilement dans mon expérience). Par exemple, vous pourriez avoir
/srv/git/proj/proj-ninefingers.git
et ont une "libération" repo de '/srv/git/proj/projet.git Qui est probablement ce que je ferais si l'exécution d'un travail d'équipe. Autorisations, coquillages, etc pour être défini comme approprié.Noter que si vous souhaitez autoriser les exportations via la lecture protocole git vous devez vous assurer que la configuration de git utilisateur a accès en lecture et que
git-daemon-export-ok
existe dans le dépôt nu.git update-server-info
doit également être exécuté avantgitweb
sera ramasser le référentiel, si vous souhaitez l'utiliser.Comme d'autres l'ont dit,
git gc
optimise le référentiel et c'est une bonne idée de le faire régulièrement. Tâche Cron?Enfin, une pléthore de cadres existent pour simplifier ce (gitosis, gitorious, ...). Je ne pense pas que ça devient pas plus simple que de fournir l'accès à un dossier par le biais de divers mécanismes, mais alors c'est moi.
Comme un exemple de mon installation, il n'y a que moi que j'ai:
Cela signifie que n'importe qui avec la clé privée de l'utilisateur 1 peut se connecter et de s'engager dans l'une de ces dépôts.
Jamais essayé moi-même, mais gitorious héberge le code en cours d'exécution sur:
Une autre option avec gitosis:
Gitorious est basé sur leur propre base de code.
Sur cette page vous pouvez trouver le git-repo. de la le projet.
Gitalist est très facile à utiliser git Webinterface.
Si vous voulez juste le dépôt de code et pas de pages web, il suffit de placer le ".git" répertoire accessible, c'est suffisant pour le clonage via HTTP (notez que vous aurez besoin de ssh ou similaire pour le pousser à ce référentiel).
Par exemple, un projet de mine est accueilli de cette façon à http://psi5.com/~geier/mutextrace.git .
C'est une bonne idée d'exécuter périodiquement "git gc" sur ce référentiel afin d'objets du pack d'ensemble, de sorte que les clients n'ont pas à faire des milliers de accède aux.
Si vous voulez des pages web, puis gitorious est en effet la voie à suivre.