Как я могу заставить git работать с удаленным сервером? - PullRequest
1 голос
/ 03 мая 2010

Я сотрудник КМ небольшой компании, которая только начала использовать Git. У нас есть два репозитория Git, в настоящее время размещенных на коробке Windows, которая является нашим универсальным сервером Windows. Но мы просто настроили выделенный сервер для нашего программного обеспечения CM на сервере Ubuntu Linux с именем «Callisto».

Итак, я создал тестовое хранилище Git для Callisto. Я дал его каталогу все необходимые разрешения рекурсивно. У меня был системный администратор, который создал для меня логин на Callisto, и я создал ключ, чтобы использовать его для входа через SSH. Я настроил свой ключ на использование ключевой фразы; Я не знаю, может ли это способствовать моим проблемам? В любом случае, я знаю, что мой SSH-вход работает, потому что я проверил его через puTTY.

Но, даже после нескольких часов испытаний и царапин на голове, я не могу заставить мой Windows Git bash (mSysGit) поговорить с Каллисто в целях загрузки или извлечения файлов репозитория Callisto git.

Я продолжаю получать "Неустранимая ошибка. Удаленный конец неожиданно зависает". И я даже получил ошибку, что Git не распознает тестовый репозиторий на Callisto как репозиторий git. Я читал в Интернете, что «Фатальная ошибка ... неожиданно зависла», как правило, проблема с подключением к серверу или разрешениями. Так что я здесь упускаю или пропускаю? И почему не работает pull, использующий протокол git: //, так как он использует только доступ только для чтения? Групповые и публичные разрешения для каталога репозитория git в Callisto настроены на чтение и выполнение, но не на запись.

Если бы кто-нибудь мог помочь, я был бы так благодарен. Спасибо.

Ответы [ 3 ]

1 голос
/ 04 мая 2010

Если вы используете putty / pageant, проверьте, находится ли ваш хост в файле know_hosts в

docssettings/userdir/.ssh

Если нет, сначала попробуйте замазку и примите ключ, предоставленный вашим сервером.

У вас есть похожие строки в .git / config?

[remote "origin"]
url = ssh://user@server/.../repo.git 
0 голосов
/ 03 мая 2010

В любом случае, я знаю, что мой SSH-вход работает потому что я проверил это через шпаклевку.

Подтвердили ли вы, что вы можете подключиться к серверу SSH из своего клиента msysgit?
то есть что происходит, когда вы ssh user@callisto.com из командной строки msysgit?

Для получения дополнительной информации о настройке вашего git-сервера, вы можете просмотреть Pro Git : Глава 4 «Git on the Server» .

А почему бы не использовать git: // протокол работает, так как только использует доступ только для чтения?

Чтобы протокол git работал, вы должны настроить git daemon на своем сервере, как описано в Глава 4.9 Pro Git .

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

0 голосов
/ 03 мая 2010

У меня только мимолетное знакомство с mSysGit, но я не думаю, что он устанавливает ssh-клиент. Без ssh-клиента git не может подключиться к серверу. (Эта функция не встроена в git согласно философии Unix.) Что касается протокола git, если на сервере это не включено, он не будет работать. Так как кажется, что у вас есть настройки сервера для доступа по ssh, я сомневаюсь, что вы получите что-нибудь с протоколом git.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...