Правильные ссылки на подмодули git

Поскольку я не хочу тратить +$12 на простой в использовании частный хостинг github.com, я размещаю много своих библиотек кода в небольших репозиториях на аккаунте общего хостинга. Это позволяет мне иметь столько репозиториев кода, сколько я хочу.

Поскольку эти репозитории не требуют никаких ресурсов, чтобы сидеть там, я также добавил пару очень легких сайтов в эту учетную запись, чтобы максимизировать мое использование. Эти сайты фактически используют одни и те же репозитории кода в качестве подмодулей своих проектов.

Итак, я нажимаю/вытягиваю код для каждого репо и сайта через ssh. Сами сайты, устанавливающие всего пару директив, также извлекают эти подмодули.

Итак, у меня есть проект simplesite.tld на моем компьютере с подмодулем, который выглядит так:

[submodule "modules/blog"]
        path = modules/blog
        url = [email protected]:~/git/modules/blog/

Затем я вставляю код в simplesite.tld, вхожу на общий хост через SSH и обновляю модули simplesite.tld.

git submodule update

Но он запрашивает мой пароль SSH для «пользователя», чтобы войти в систему и получить код репо. Что просто раздражает, так как репо находится на том же сервере.

Итак, есть ли лучшая ссылка на подмодуль, которую я могу использовать как на чужих компьютерах (например, на моем ПК), так и на проектах на одном жестком диске?


person Xeoncross    schedule 26.02.2010    source источник


Ответы (3)


Вы можете настроить аутентификацию с открытым ключом через SSH, чтобы не вводить пароль каждый раз. время.

person mipadi    schedule 26.02.2010
comment
Я сделал это для своего ПК, и он отлично работает. Однако, поскольку я уже подключен к серверу по SSH, а затем запрашиваю репозиторий через SSH от того же пользователя, я думаю, что сервер запутался и снова запрашивает пароль. Я не уверен, как настроить открытый ключ для того же пользователя, чтобы получить доступ к своей учетной записи. - person Xeoncross; 26.02.2010
comment
Вы можете объединить открытый ключ этого пользователя (~/.ssh/id_rsa.pub) с его собственным файлом авторизованных ключей (~/.ssh/authorized_keys). - person mipadi; 27.02.2010
comment
Никогда бы не подумал об этом. - person Xeoncross; 03.03.2010

Вероятно, вы можете использовать базовый HTTP-транспорт для git, чтобы обеспечить глобальный доступ только для чтения к вашим репозиториям (при условии, что это нормально) или ограничить доступ с помощью директив .htaccess. Это должно нормально работать с большинством учетных записей виртуального хостинга. Это позволит вам использовать один и тот же URL в обоих местах.

Или, в качестве альтернативы, вы можете использовать что-то другое, кроме подмодулей (которые я лично считаю довольно неадекватными для многих потенциальных вариантов использования). Например, мне нравится mr. Он выполняет несколько иную роль, чем подмодули, но, вероятно, его можно заставить работать.

person pioto    schedule 26.02.2010

Я полагаю, вы уже решили свою проблему с избыточными запросами пароля :)
Если нет, у меня недавно была похожая проблема, которую я решил, используя относительные URL-адреса для подмодулей - см. подробности на Подмодули Git, использующие относительные URL-адреса.

person AntonK    schedule 30.03.2012