Как создать клон git только для просмотра - PullRequest
3 голосов
/ 23 июня 2011

Мы используем git в качестве нашей VCS для небольшой команды разработчиков.Я держу основной репозиторий на нашем сервере как пустой git-репозиторий.

Руководство и люди, не связанные с проектом, должны иметь возможность видеть код и документацию, ничего не зная о git, поэтому я также держу клонна нашем сервере для просмотра.Чтобы поддерживать клон в актуальном состоянии, я установил хук, который обновляет основную ветвь клона всякий раз, когда кто-то фиксирует пустой репозиторий.

Вот проблема: какая-то тупица всегда входит в клон просмотраначинает модифицировать код, что приводит к сбою операции push главной ветки.Я хотел бы найти способ применения политики только для чтения для этого клона или другой способ поддерживать ее в актуальном состоянии.

Ответы [ 3 ]

4 голосов
/ 23 июня 2011

Лучший способ справиться с этими ситуациями - хорошо поговорить с обсуждаемой головкой.

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

Вы также можете получить сброс --hard и git clean -f перед извлечением из чистого репо.

(Ой, простите, скрипт уничтожил 2 недели работы ????)

3 голосов
/ 23 июня 2011

Почему бы просто не предоставить доступ через gitweb , cgit или через какой-либо другой HTTP-интерфейс просмотра репозитория?

https://git.wiki.kernel.org/index.php/Gitweb

0 голосов
/ 23 июня 2011

Нет способа сделать клон git доступным только для чтения. Есть два обходных пути, которые достигнут аналогичного эффекта.

Один из способов - изменить разрешения для файлов и папок, чтобы они были доступны только для чтения.

Другой способ, о котором я могу подумать, - это использовать систему разрешений на сервере.
Вы можете использовать gitolite , чтобы разрешить чтение-запись или доступ только для чтения для определенных пользователей / групп, использующих хранилище.
Вот список других программ управления git: https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#Access_control_.2F_Project_hosting

...