Отказано в доступе к тайнику Git на рабочем сервере

Я попытался сделать git stash на своем производственном сервере, используя пользователя «развернуть», но он выдает ошибку как

/usr/lib/git-core/git-stash: 440: cannot create /app/app_name/.git/logs/refs/stash: Permission denied

Ошибка не отображается для пользователя root.

в чем может быть причина ошибки и как ее устранить?


person rtcoms    schedule 15.05.2013    source источник
comment
Кто владеет папкой .git?   -  person AnkitG    schedule 15.05.2013
comment
Если вам нужно использовать git-stash в производственной среде, у вас есть серьезная проблема.   -  person innaM    schedule 15.05.2013
comment
Вы правы, но это не решает мою текущую проблему. 1 час назад git stash работал, а теперь перестал.   -  person rtcoms    schedule 15.05.2013


Ответы (1)


Это зависит от того, как вы создали репозиторий.
Попробуйте использовать репозиторий, созданный с помощью git init --shared< /a>, чтобы несколько пользователей одной и той же группы могли получить доступ к вашему репозиторию и писать в нем.

--shared[=(false|true|umask|group|all|world|everybody|0xxx)]

Укажите, что репозиторий Git должен быть общим для нескольких пользователей.
Это позволяет пользователям, принадлежащим к одной группе, отправлять данные в этот репозиторий. Если указано, переменная конфигурации "core.sharedRepository" устанавливается таким образом, что файлы и каталоги под $GIT_DIR создаются с запрошенными разрешениями.
Если не указано, Git будет использовать разрешения, сообщаемые umask(2).

Дополнительную информацию можно найти в разделе "Использование Git без Sudo во многих аккаунтах".

Для вашего текущего репозитория убедитесь, что deploy имеет право доступа к /app/app_name/.git.

OP rtcoms подтверждает:

3 файла принадлежат пользователю root. И это сработало.

person VonC    schedule 15.05.2013
comment
deploy пользователь имеет доступ для чтения/записи ls -l .git total 400 -rw-r--r-- 1 root root 41 5 ноября 2012 г. RENAMED-REF drwxr-xr-x 2 deploy deploy 4096 29 апреля 2012 г. ветки аналогичны для других файлов /folders в папке .git. - person rtcoms; 15.05.2013
comment
@rtcoms Я не понимаю, как пользователь может иметь доступ на запись к файлу -rw-r--r-- 1 root root. Вам нужно будет изменить права или владельца/группу этого каталога репозитория git. - person VonC; 15.05.2013
comment
да, я пропустил это. 3 файла принадлежат пользователю root. И это сработало. Спасибо - person rtcoms; 15.05.2013