2012-02-27 3 views
4

Что такое git-daemon? Это функция git по умолчанию? Я пытаюсь понять это, так что я могу разместить репозиторий на сервере, который люди могут нажать и вытащить.Что такое git-daemon?

До сих пор я мог клонировать «-bare» репозиторий на сервере Apache, а затем использовать «update-server-info», чтобы разрешить клонирование клонирования другим сотрудникам. Однако это не позволяет сотрудникам подталкивать свои коммиты в репозиторий «--bare».

Я создал файл «git-daemon-export-ok» в своем «-bare» репозитории и выполнил команду: «git-daemon --verbose/git», но я получаю сообщение об ошибке: «git -daemon: команда не найдена. "

Любая помощь будет оценена по достоинству.

ответ

2

man git-daemon расскажет вам совсем немного (и да, это встроенный модуль, который поставляется с Git). Демон Git запускается через git daemon (обратите внимание на дефис).

Однако вы должны взглянуть на Gitolite, если вы планируете размещать репозитории Git на сервере.

Кроме того, почему вы клонируете репозиторий с целью клонирования, и любые нажатия на него перенаправляются на репо, из которого он был клонирован? Просто клон из оригинального хранилища!

+0

Люди, с которыми я работаю, больше не хотят иметь репозиторий, размещенный в Github. Они хотят только этого в сети :( Благодарим вас за советы по Gitolite и git-daemon. Существует так много вариантов: от git-daemon до Gitosis до создания SSH-сервера. Я чувствую себя немного перегруженным. Я просто просто придерживался github). Я просто твердое место для начала. Любая причина, по которой я пытаюсь выполнить команду: «git-daemon --base-path = « Я получаю сообщение об ошибке »git-daemon: command не найден? » – junsungwong

+0

Git daemon должен запускаться как« git daemon »(без дефиса), что является отходом от того, как работают большинство команд git, но я полагаю, что это происходит, потому что происходит более сложное внутреннее вещание. мой ответ, чтобы отразить это. –

+0

@AndrewMarshall: на самом деле это не выход. Большинство или все команды git вызывается как 'git foo', а не' git-foo'. На Ubuntu команды 'git- *' - - в том числе 'git-daemon' - находятся в'/usr/lib/git-core' (и вызывается командой 'git'), но'/usr/lib/git-core' обычно не будет находиться в ваш '$ PATH'. Я думаю, что более старые версии 'git' могли бы вести себя по-другому. (MSYS git в Windows может быть другим, в настоящее время я его не устанавливаю.) –

0

На вашем сервере в каждом репозитории, например, /opt/git/myrepository.git, есть файл конфигурации.

Добавьте следующий раздел

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

От the kernel.org page on git-daemon

0

Вы могли бы иметь детальное представление, прочитав https://www.kernel.org/pub/software/scm/git/docs/git-daemon.html

Что касается проблемы git daemon not a git command вы можете прочитать этот пост о том, как установить его. http://androidyue.github.io/blog/2013/09/10/install-git-daemon-on-fedora/

Надеюсь, это может вам помочь.