Я использую Redhat linux на своем веб-сервере, и у меня были репозитории git, настроенные вручную на одном IP-адресе с именем 192.168.0.100. Это было установлено пользователем git. Я получил доступ к git, позвонив примерно так:
git clone git@192.168.0.100:my-project.git
После этого я планировал установить gitlab на том же сервере. Итак, я установил версию сообщества gitlab. Но после этого я больше не могу получить доступ к своим старым репозиториям. Итак, я удалил gitlab с помощью команд:
sudo gitlab-ctl uninstall
sudo dpkg -P gitlab-ce
После этого я пытаюсь получить доступ к своим старым репозиториям с помощью команды на моем локальном компьютере:
git clone git@192.168.0.100:my-project.git
Но он показывает ошибку вроде:
Cloning into 'my-project'...
sh: /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell: No such file or directory
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Очевидно, моя установка gitlab изменила некоторые настройки в git.
Где я могу это исправить?
Я не знаю, как вы изначально настроили свой сервер и домашний каталог старого пользователя git, но я предполагаю, что это был просто / home / git (если нет, измените / home / git на любой исходный путь). Вы должны просто проверить это, заглянув в / home / git и посмотреть, находятся ли ваши репозитории там (или во вложенной папке).
Установка gitlab, вероятно, изменила домашний каталог пользователя git. Если ваши репозитории находятся в / home / git, вы можете попробовать
git clone git@192.168.0.100:/home/git/my-project.git
Если это сработает, вы можете отредактировать файл / etc / passwd (как root) и вернуть пользователю git его старый каталог:
git:x:998:998::/home/git:/bin/sh
или использовать usermod:
sudo usermod -d /home/git git
Еще раз: во всем вышеперечисленном замените / home / git на путь к вашим репозиториям (родительская папка для папок .git).