У меня есть сервер с центральным git-репозиторием и одна из сред разработки моего коллеги. Хранилище моего коллеги по происхождению - центральное хранилище git, и он отправляет туда, когда у него есть какой-то код, которым можно поделиться. Аналогично, я разрабатываю локально и отправляю в центральное хранилище git, когда у меня есть некоторый код для совместного использования, поэтому источником моего хранилища является также центральное хранилище git.
Проблема в том, что у меня есть центральный репозиторий git в домашнем каталоге пользователя "git". Поэтому, когда я нажимаю, я на самом деле SSH на сервер в качестве пользователя "git". Чтобы быть еще более понятным, мой конфиг имеет следующие строки:
$ more .git/config
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@development.mydomain.com:fsg
[branch "master"]
remote = origin
merge = refs/heads/master
Когда я нажимаю, git легко обрабатывает этот SSH +, я предполагаю что-то вроде оболочки git. Проблема в том, что когда мой коллега нажимает, он входит в систему как пользователь для себя и получает кучу сумасшедших ошибок разрешения. Есть ли типичный способ решения этой проблемы без открытия каталогов git для группы? Я думаю, что это будет проблематично, когда я нажимаю и поэтому перезаписываю репозиторий, и эти разрешения сбрасываются.
Спасибо!