Использование репозитория gitosis git с XCode 4 - PullRequest
1 голос
/ 12 апреля 2011

Привет Я пытался получить доступ к своему репозиторию git из XCode 4.

Все отлично работает, используя инструменты командной строки. Я могу клонировать репо, используя:

git clone git@example.com:somerepo.git

Но в XCode при попытке использовать:

ssh://git@example.com:somerepo.git

Он просто спрашивает у меня пароль, который я вообще не хочу использовать.

То же самое происходит с:

git://git@example.com:somerepo.git

За исключением того, что я также получаю сообщение об ошибке "Отказано в соединении: невозможно подключиться к сокету".

Есть идеи, как это решить?

Ответы [ 7 ]

5 голосов
/ 19 ноября 2011

В Xcode 4.2 для меня работала следующая строка местоположения

ssh://git@example.com:22/somerepo.git

Часть ssh:// требуется, чтобы сообщить Xcode, какой протокол следует использовать.Поскольку URL теперь содержит схему, спецификатор порта :22 также необходим для того, чтобы Git был доволен. Без порта я получил следующее (странное) сообщение об ошибке в командной строке: «ssh: подключиться к хост-порту 22: соединение отказано».

Кстати: когда я добавилВ моем репозитории в окне «Органайзер» Xcode пробормотал что-то по поводу «необходима аутентификация», затем начал вращать индикатор активности.Хотя мне удалось немедленно клонировать репо, мне пришлось перезапустить Xcode, чтобы избавиться от индикатора активности.

2 голосов
/ 06 января 2012

Я обнаружил, что использование ssh: //git@git.mydomain.com/myrepo работает.Обратите внимание, что «git» - это имя пользователя, которое я использовал для gitolite (точно следуя инструкциям на их сайте, правильно добавив открытый ключ для пользователей), git.mydomain.com - это имя хоста, где был установлен gitolite, а «myrepo» - этоимя репозитория (для меня это работает без добавления «.git» в конце).

Другая часть - убедиться, что ваши ключи OpenSSH находятся в ~ / .ssh / id_rsa (private; chmod itдо 0600 или не будет работать) и ~ / .ssh / id_rsa.pub (общедоступный; я не знаю, нужно ли это, но я никогда не удосужился проверить).

Выше все работает,без "побочных эффектов", по крайней мере для меня ...

1 голос
/ 14 января 2014

У меня есть собственный сервер GIT, использующий GIT-SCM.

Я попробовал URL ssh://user@git.mydomain.com:22/gitname.git и поместил закрытые ключи в ~/.ssh/user

CHMOD в 0600

И когда я подключаюсь, он спрашивает у меня имя пользователя и пароль, но пароль отсутствует

1 голос
/ 27 июня 2012

ВЫ должны убедиться, что вы не включили какой-либо прокси, потому что это может привести к тому, что цель иногда недоступна в xcode.

После того, как вы заполните имя репозитория, вы должны проверить, является ли тип репозитория git, а не SVN, потому что я обнаружил, что xcode может изменить тип.

Наконец, вы должны получить доступ к репо.

1 голос
/ 29 ноября 2011

По крайней мере, для Xcode 4.2 вам не нужно указывать протокол. Просто используйте

git@example.com:somerepo.git

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

1 голос
/ 18 апреля 2011

XCode 4 ищет пару ключей в каталоге ~ / .ssh

вам нужно добавить открытый ключ для вашего пользователя в удаленном хранилище

тогда XCode может клонировать репозиторий

0 голосов
/ 12 апреля 2011

Клонирование репозитория Git по протоколу git (что вы и сделали в командной строке) - это не то же самое, что использование протокола ssh + git (это то, что вы попробовал сначала в XCode4)

Только ssh будет запрашивать пароль, если в вашем каталоге $HOME/.ssh не найден открытый ключ.
И если у вас есть доступ к порту 9418 на сервере example.com, вам не нужен ssh для клонирования (он может понадобиться, если на сервере example.com установлен уровень аутентификации)

Ошибка «невозможно подключить сокет» типична для проблемы брандмауэра / прокси-сервера: см. Ошибка Git: фатально: невозможно подключить сокет (неверный аргумент) .

Проверьте ваш git config -l: возможно, XCode 4 не использует ту же самую настройку, которую ваш git использовал в командной строке.

...