#linux #git #gitlab
#linux #git #gitlab
Вопрос:
когда я вхожу в систему с помощью пользователя root и перехожу в рабочий каталог (/ home / gitproject), у меня нет проблем с выполнением команд, но когда я захожу на сервер с другими пользователями, я получаю следующее:
фатальный: не репозиторий git (или любой из родительских каталогов): .git
Как решить эту проблему?
репозиторий не принадлежит root, он принадлежит другому пользователю, и даже когда я использую этого пользователя для входа в систему, я получаю ту же ошибку!
Комментарии:
1. Я подозреваю, что другие пользователи не могут записывать (или, возможно, даже читать) файлы и каталоги, принадлежащие
root
. Обычно вы не используете один локальный репозиторий для нескольких пользователей. Права собственности / разрешения будет сложно получить правильно.2. репозиторий не является владельцем root, он принадлежит другому пользователю, и даже когда я использую этого пользователя для входа в систему, я получаю ту же ошибку!
3. Хм
~/home/gitproject
? Действительно ли там есть ~ ? Не делайте этого.
Ответ №1:
Трудно точно понять, что здесь не так, но вот несколько советов о том, как это отладить. git
не находит структуру для репозитория, в котором вы находитесь, что означает, что он не может найти ни /home/gitproject/.git
или /home/.git
, ни /.git
.
Это может быть связано с тем, что файлы отсутствуют или потому, что только root может их прочитать. Проверьте у пользователей, которые не работают, используя следующую команду:
ls -l /home/gitproject/.git
(и так далее).
Кстати, как larks
упоминалось в комментарии, совместное использование репозитория git будет огромной проблемой. Попробуйте gitolite
или другие проекты такого рода.
Ответ №2:
итак, я решил проблему… с пользователем root я выполнил эту команду
rm -r .git
и вошел в систему с другим пользователем и запустил это:
git init
git remote set-url origin URL
Это решило проблему. Но все еще не ясно, что там на самом деле произошло.