Как настроить публичные репозитории git? - PullRequest
15 голосов
/ 07 марта 2009

Я недавно пытался настроить git repo на Linux-коробке и потратил около 10 часов без каких-либо результатов. Нет проблем с компиляцией или чем-то подобным, это просто проблема конфигурации. Через 2 часа я получил меркуриал, чтобы сделать все, что мне нужно:

  1. публичные репо
  2. веб-интерфейс
  3. push / pull с разрешениями для каждого пользователя (не привязаны к учетным записям linux)

Все, что я вижу в git, предполагает, что вы либо запускаете его локально, используя github, либо уже все настроили. Либо я не ищу правильные ключевые слова, либо просто нет или очень мало информации по теме.

Я действительно хочу попробовать git, но его настройка очень обескураживает. Кто-нибудь может указать на что-то полезное в этих терминах?

спасибо!

Ответы [ 2 ]

13 голосов
/ 07 марта 2009

Я считаю (но я еще не пробовал), что Гитоз - это путь для:
Обновление: 2011, я фактически развернул Гитолит

  • делает хостинг git репо проще и безопаснее. Это
  • управляет несколькими хранилищами под одной учетной записью пользователя, используя ключи SSH для идентификации пользователей.
    Конечным пользователям не нужны учетные записи оболочки на сервере, они будут общаться с одной общей учетной записью, которая не позволит им выполнять произвольные команды.

Процесс установки, который я рекомендую, выполняется из сообщения клиента, чтобы скопировать полную установку gitolite на сервер:

(метод из клиента) установка с клиента на сервер

Помните: gitolite управляет авторизацией, а не аутентификацией (SSH) : его можно использовать без SSH, но его естественное развертывание - через SSH и механизм принудительных команд . (вроде был и гитоз, но с гораздо большим количеством функций)


Старые ссылки на гитоз:

Пошаговое руководство .

А затем приложение из учебника: Gitosis - управление хостингом нескольких репозиториев Git (для Mac) или установка Gitosis в Ubuntu

Далее: Добавление пользователей в нашу безопасную настройку Git

Закончено: Подпроектами Git (так как ваш сервер gitosis управляет всеми этими различными репозиториями git)


Для действительно легких (cgi server) публичных репозиториев Git вы можете:

  • настроить git server : git-daemon ; он будет прослушивать порт 9418. По умолчанию он разрешает доступ к любому каталогу, который выглядит как каталог git и содержит магический файл git-daemon-export-ok. Передача некоторых путей к каталогам в качестве аргументов git-daemon дополнительно ограничит экспорт этими путями.
    Вы также можете запустить git-daemon как службу inetd;
  • экспорт с http Поместите недавно созданный пустой git-репозиторий в каталог, который экспортируется веб-сервером, и внесите некоторые изменения, чтобы предоставить веб-клиентам дополнительную информацию, которая им нужна

Вот как это сделать на сервере Apache .


В статье 2010 года " 8 способов поделиться вашим репозиторием git " упоминаются все возможности предоставления доступа к репозиторию Git.

1 голос
/ 27 января 2010

Вы могли бы просто сделать

git instaweb

если у вас установлено lighttpd . Это только веб-интерфейс.

...