Файлы в папке .git имеют неправильные разрешения после отправки в не-пустой репозиторий (receive.denyCurrentBranch updateInstead) - PullRequest
0 голосов
/ 18 сентября 2018

Настройка

У меня есть рабочий репозиторий на моем рабочем компьютере и клон на моем ноутбуке.Я установил git config receive.denyCurrentBranch на updateInstead.Таким образом я могу перенести свой ноутбук с моего рабочего компьютера и git автоматически обновляет локальные файлы в моей рабочей директории.

Мой рабочий компьютер использует файловую систему NFS, и по умолчанию все в группе имеют разрешения на чтение.

На моем ноутбуке настроен пульт дистанционного управления с username@computer:/home/path/to/git

Пульт дистанционного управления моих колледжей настроен с использованием /path/to/home

Проблема

Всякий раз, когдаЯ нажимаю на этот не-пустой репозиторий, обновленные файлы в папке .git (.git/refs/heads/master, .git/objects/...) получают разрешение на чтение для меня, но не для группы.По умолчанию и перед отправкой у них было разрешение на чтение и для группы.

Таким образом, мои колледжи не могут извлечь из моего хранилища и получить странные сообщения об ошибках.

Вопрос

Есть ли какие-то настройки, которые я могу изменить, чтобы изменить это поведение?Это предполагаемое поведение?Или нет никакого решения для этого кроме подачи запроса об ошибке / функции разработчикам git?

1 Ответ

0 голосов
/ 18 сентября 2018

Удаленный URL username@computer:/home/path/to/git означает, что вы используете SSH, а не NFS. Вам необходимо настроить umask на стороне сервера; попробуйте отредактировать его в /home/username/.bash_profile на рабочем компьютере.

Вам также рекомендуется установить

git config core.sharedRepository 0640

в общем хранилище, чтобы git использовал это исправленное umask вместо пользовательских umask.

См. https://git -scm.com / docs / git-config # git-config-coresharedRepository

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