@knvovk

Почему Git не находит удаленный репозиторий на GitHub?

У меня есть приватный репозиторий на GitHub. В этом репозитории есть подмодули, также приватные репозитории на GitHub. Мне необходимо клонировать основной репозиторий и его подмодули на удаленном хосте. Для доступа удаленного хоста к репозиториям я создал SSH ключ на хосте для основного репозитория и также по ключу для каждого подмодуля (Потому что GitHub не позволяет использовать 1 ключ в нескольких репозиториях). Каждый созданный ключ я добавил в раздел Deploy Keys на GitHub. В основной репозиторий, и в каждый подмодуль, соответствующий ему ключ. Затем я клонирую на удаленный хост основной репозиторий, в нем выполняю инициализацию подмодулей (git submodule update --init --recursive). Но при выполнении команды инициализации подмодулей получаю ошибку:

ERROR: Repository not found. fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.


Также отдельно, перейдя в папку любого из подмодулей и сделав git pull, я получаю ту же ошибку.

  • Файл .gitmodules настроен правильно, указаны верные url подмодулей.
  • Создание SSH ключа, вызов ssh agent и ssh-add также выполнены правильно


Вопрос: почему не удается обновить / проинициализировать подмодули?
  • Вопрос задан
  • 525 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
не позволяет использовать 1 ключ в нескольких репозиториях
Также наверное нельзя одновременно несколько разных ключей использовать для доступа к одному серверу.

Скорее всего нужно подсказать хосту, какой именно ключ использовать для каждого из подмодулей.
Для этого мы создаём в файле конфигурации ~/.ssh/config несколько виртуальных хостов
Host github.com-module-1
        Hostname github.com
        IdentityFile=/home/user/.ssh/module-1_deploy_key

Host github.com-module-2
        Hostname github.com
        IdentityFile=/home/user/.ssh/module-2_deploy_key

И поправьте ссылку на подмодуль в .gitmodules используя псевдоним виртуального хоста
git@github.com-module-1:OWNER/repo-submodule-1.git

Сам не проверял, пишу основываясь на официальную документацию GitHub:
Authentication / Connect with SSH / Managing deploy keys
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы