2012-02-27 2 views
4

Qu'est-ce que git-daemon? Est-ce une fonction git par défaut? J'essaie de comprendre ceci afin que je puisse héberger un dépôt sur un serveur que les gens peuvent pousser/tirer. Jusqu'à présent, je suis capable de cloner un dépôt "--bare" sur un serveur Apache, puis d'utiliser "update-server-info" pour permettre au référentiel d'être cloné à d'autres collaborateurs. Cependant, cela ne permet pas aux collaborateurs d'envoyer leurs validations dans le référentiel "--bare".Qu'est-ce que git-daemon?

J'ai créé le fichier "git-daemon-export-ok" dans mon dépôt "--bare", et j'ai lancé la commande: "git-daemon --verbose/git" mais j'ai une erreur: "git -daemon: commande non trouvée. "

Toute aide serait appréciée.

Répondre

2

man git-daemon vous dira un peu (et oui, c'est un intégré qui vient avec Git). Le démon Git est exécuté via git daemon (remarquez pas de trait d'union).

Cependant, vous devriez jeter un oeil à Gitolite si vous avez l'intention d'héberger des dépôts Git sur un serveur. En outre, pourquoi clonez-vous un dépôt dans l'intention de le faire cloner, et tout message qui y est envoyé est renvoyé au dépôt dont il a été cloné? Juste cloner du dépôt original!

+0

Les personnes avec lesquelles je travaille ne veulent plus que le référentiel soit hébergé sur Github. Ils ne veulent que dans un réseau :( Nous vous remercions pour vos conseils sur Gitolite et git-daemon Il y a tellement d'options, de git-daemon à Gitosis en passant par la création d'un serveur SSH que je me sens un peu dépassé. Je pourrais simplement coller à github.) Je juste un endroit solide pour commencer Une raison pour laquelle quand j'essaye la commande: "git-daemon --base-path = " Je reçois l'erreur "git-daemon: commande – junsungwong

+0

Le démon Git doit être lancé en tant que 'git daemon' (pas de trait d'union), ce qui déroge à la façon dont la plupart des commandes git fonctionnent, mais je suppose que c'est parce qu'il y a des choses internes plus compliquées. –

+0

@AndrewMarshall: Ce n'est pas vraiment un départ, la plupart ou toutes les commandes git sont invoquées comme 'git foo', pas' git-foo' Sur Ubuntu, les commandes 'git- *' - y compris 'git-daemon' - sont dans'/usr/lib/git-core' (et sont invoqués par la commande 'git'), mais normalement'/usr/lib/git-core' ne sera pas dans votre '$ PATH'. Je pense que les anciennes versions de 'git' pourraient se comporter différemment. (MSYS git sur Windows peut être différent, je ne l'ai pas actuellement installé.) –

0

Sur votre serveur, dans chaque référentiel, disons /opt/git/myrepository.git, il y a un fichier de configuration.

Ajoutez la section suivante

[daemon] 
    uploadpack = true 
    uploadarch = true 
    receivepack = true 

De the kernel.org page on git-daemon

Questions connexes