В течение года у меня были проблемы с GIT и правами на каталог/файл. У меня есть центральный репозиторий, к которому несколько разработчиков используют код, используя ssh (источник настроен как ssh://example/git/repository). Я создал репозиторий следующим образом:
1) Мой конфигурационный файл в центральном репозитории: [Ядро] repositoryformatversion = 0 filemode = true bare = true sharedrepository = 0660
2) Все разрешения каталога хранилища установлены на 770 (rwxrwx ---) 3) Все файлы в. /objects/XX и./objects/info установлены на 440 (r-r -----) 4) Все остальные файлы установлены на 660 (rw-rw ----) 5) Собственность установлена на root: group_name
(обратите внимание, что это произошло из рекомендуемой настройки в верхнем ответе в этом потоке: Создание GIT push уважения разрешений?)
Все пользователи доступа являются членами группы "имя_группы".
Проблема заключается в том, что если пользователь1 подталкивает к репозиторию, то права собственности на файлы на некоторые файлы устанавливаются на user1: user1 - это означает, что группа изменена. Как только это произойдет, никакие другие пользователи не могут нажать (или вытащить) из репозитория, так как они больше не имеют права на чтение, запись или выполнение из необходимых файлов в репозитории.
Я прочитал каждый поток, который я могу найти относительно вопроса о переполнении стека и почти везде в сети, но я продолжаю работать в этой же проблеме.
Проблема в том, что я не уверен, является ли эта проблема одной из GIT или одной из UNIX, и я не уверен, как ее исправить. Как я могу остановить изменение группы при переходе пользователя в репозиторий?