Установка масок в Git / Gitolite
Я настроил Git и Gitolite, и в какой-то момент я вспомнил, что видел настройку "umask" в одном из файлов конфигурации. Устанавливает ли это разрешения для всех файлов, которые я синхронизирую с помощью Git? Это именно то, что мне нужно. Где я могу найти его?
1 ответ
Настройки umask в Gitolite предназначены для изменения umask для вновь создаваемых репозиториев (а не для файлов, управляемых в версиях этими репозиториями).
Смотри gitolite.rc doc:
$REPO_UMASK
, восьмеричное, по умолчанию 0077По умолчанию
UMASK
что Gitolite использует все репозитории и их содержимоеrwx------
разрешения. Люди, которые хотят запустить gitweb, понимают, что это не сработает.Правильный способ справиться с этим - присвоить переменной значение
0027
(обратите внимание на синтаксис: требуется начальный 0), а затем заставьте пользователя запустить веб-сервер (apache,www-data
что угодно) член группы "git".Если вы уже установили gitolite, то существующие файлы придется исправить вручную (для umask или
0027
, это было быchmod -R g+rX
). Это потому чтоumask
влияет только на разрешения для вновь созданных файлов, а не существующих.
Эти настройки аналогичны тем, которые используются при создании непосредственно git-репо (без gitolite):
core.sharedRepository
когда
group
(или жеtrue
), хранилище становится доступным для совместного использования несколькими пользователями в группе (убедитесь, что все файлы и объекты доступны для записи в группе).
когдаall
(или жеworld
или жеeverybody
), хранилище будет доступно для чтения всем пользователям, в дополнение кgroup-shareable
,
когдаumask
(или жеfalse
), git будет использовать разрешения, указанныеumask
,
См. Также " Как поделиться репозиторием Git с несколькими пользователями на машине?" Для получения дополнительной информации.
Когда у вас возникают конфликты между платформами относительно разрешений, у вас также есть возможность " дать команду git игнорировать изменения разрешений файлов" (git config core.fileMode false
).
Обновление: Этот ответ охватывает Gitolite 2. С Gitolite 3 настройка изменилась с $REPO_UMASK
чтобы просто $UMASK
,