Какие права доступа к файлу должно иметь содержимое $ GIT_DIR? - PullRequest
7 голосов
/ 06 сентября 2010

Я восстановил git-репозиторий из резервной копии, и у него нет правильных прав доступа к файлам.Достаточно ли указать владельца + rw для всех файлов и каталогов в .git, или это более тонкий момент?

1 Ответ

22 голосов
/ 06 сентября 2010

Каталоги должны иметь разрешение 755;файлы должны иметь разрешение 644.

Это очень хорошее эмпирическое правило, если только вы не ожидаете, что члены вашей группы внесут изменения в ваш репозиторий.файлы под .git/objects/* имеют разрешение 444 (только для чтения) для всех.Другие файлы имеют размер 644.

Этот скрипт, запускаемый в каталоге верхнего уровня чуть выше репозитория .git, исправит права:

 find .git -type d | xargs chmod 755
 find .git/objects -type f | xargs chmod 444
 find .git -type f | grep -v /objects/ | xargs chmod 644

Я начал с -print0для первых двух команд find и xargs -0 для обеспечения удаленной возможности пробелов в именах файлов.Но с grep -v в третьей команде было бы трудно справиться с форматом -print0 - поэтому я пропустил обозначение пробела во всех командах, зная, что git не создает файлы с пробелами в именах под .git каталог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...