2010-02-26 3 views
1

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

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

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

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

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

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

git submodule update 

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

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

ответ

2

Вы можете настроить public key authentication на SSH, чтобы избежать необходимости вводить пароль каждый раз.

+0

Я сделал это для своего ПК, и он отлично работает. Тем не менее, поскольку я уже подключен к серверу SSH, а затем запрашиваю репо через SSH от того же пользователя, я думаю, что сервер запутывается и снова запрашивает пароль. Я не уверен, как настроить открытый ключ для того же пользователя, чтобы получить доступ к его собственной учетной записи. – Xeoncross

+2

Вы можете связать открытый ключ этого пользователя ('~/.ssh/id_rsa.pub') с его собственным файлом авторизованных ключей (' ~/.ssh/authorized_keys'). – mipadi

+0

Никогда бы этого не произошло. – Xeoncross

1

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

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

1

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

Смежные вопросы