Ответ 1
Я верю (но еще не пробовал), что gitosis - это путь для:
Обновление: 2011, я фактически развернул gitolite
- сделать хостинг
git
repos проще и безопаснее. Это - управляет несколькими репозиториями под одной учетной записью пользователя, используя SSH-ключи для идентификации пользователей.
Конечным пользователям не нужны учетные записи оболочки на сервере, они будут разговаривать с одной общей учетной записью, которая не позволит им запускать произвольные команды.
Процесс установки, который я рекомендую, - это сделать с клиентом, чтобы скопировать полную установку гитолита на сервер:
(из-клиента) установить с клиента на сервер
Помните: gitolite управляет авторизацией, а не аутентификацией (SSH): ее можно использовать без SSH, но ее естественное развертывание осуществляется через SSH и принудительный механизм управления. (например, гитоз был, но со многими другими функциями)
Старые ссылки на гитоз:
Ниже приведен шаг за шагом учебник.
И затем приложение учебника: Gitosis - создание нескольких управляемых хранилищ Git (для Mac) или установка gitosis на Ubuntu
Далее следуют: Добавление пользователей в нашу безопасную Git setup
Готово: Git подпроекты (так как ваш сервер gitosis управляет всеми этими репозиториями Git)
Для действительно светлых (cgi-серверов) общедоступных репозиториев Git вы можете:
- настройте Git сервер: git-daemon; он будет прослушивать порт 9418. По умолчанию он будет иметь доступ к любому каталогу, который выглядит как каталог Git и содержит волшебный файл git -daemon-export-ok. Передача некоторых путей каталога в качестве аргументов git -daemon будет дополнительно ограничивать экспорт этими путями.
Вы также можете запустить git -daemon в качестве службы inetd; - экспорт с http разместите недавно созданный голый репозиторий Git в каталоге, который экспортируется веб-сервером, и внесите некоторые изменения в предоставить веб-клиентам дополнительную информацию, необходимую им.
Вот как это сделать на сервере Apache.
В статье 2010 года 8 способов обмена репозиторией Git упоминаются все возможности для доступа в хранилище Git.