Git-daemon - как сделать одно обновление клонированного репо>?

Мне нужно разрешить anon доступ к нескольким репозиториям. Я прочитал несколько инструкций и документации по git-daemon, которые используют git clone clone --bare подходить и обслуживать клонированный репо с git-daemon. Это отлично работает, установил его через aptitude и весело работает как сервис в /etc/srv/git-daemon.

Мой вопрос: как только у devel будет больше коммитов, как вы обновите и синхронизируете клонированный экземпляр, используемый в качестве публичного репозитория?

Кроме того, это репо также доступно для записи (кажется, очевидно, но не всегда желательно), возможно ли сделать так, чтобы git-daemon служил только для чтения?

1 ответ

Чтобы сделать репозиторий доступным только для чтения, доступным для записи только для некоторых пользователей, проще всего было бы добавить слой авторизации, такой как gitolite.

Вы можете подключить его к gitweb или просто к http(s) доступу, как я делаю в этой конфигурации Apache, которая может быть настроена для требования аутентификации.

Таким образом, вы можете оставить свой текущий git-демон для доступа только для чтения, но вы можете добавить (аутентифицированный) доступ https для целей записи, что позволит вам точно контролировать, кто может делать какие репозитории (через gitolite).

Вы также сможете добавить post-receive подключиться к репо-репозиторию с возможностью записи, для того чтобы cd другой репо только для чтения, и сделать git fetch,

#!/bin/bash
export GIT_DIR=/path/to/bare/read-only-repo.git/
cd $GIT_DIR
git fetch --all
Другие вопросы по тегам