Bitbucket + XCode 4.2 + Git - PullRequest
       10

Bitbucket + XCode 4.2 + Git

17 голосов
/ 15 ноября 2011

Я искал решение с помощью Bitbucket и XCode.

Как всем известно, XCode 4.2 поставляется с поддержкой git. Я создал учетную запись bitbucket и хотел отправить свои изменения в свой репозиторий,

Я следовал этому уроку https://confluence.atlassian.com/display/BITBUCKET/Use+the+SSH+protocol+with+Bitbucket

Однако это проблема, с которой я сталкиваюсь. Когда я нахожусь в разделе «Органайзер - Репозитории» в XCode, я захожу в папку «Удаленные» и создаю репозиторий.

SSH: //git@bitbucket.org/username/myrepo.git

Однако, когда меня спрашивают имя и пароль, те, которые я предоставляю как имя пользователя и пароль, не работают. Я также пытался использовать git как пользователя, но не повезло.

UPDATE:

Я создал файл ~ / .ssh / config, в который я добавил специальную конфигурацию для bitbucket.

Host bitbucket.org
HostName bitbucket.org
IdentityFile ~/.ssh/bitbucket
User username

Я проверил это с помощью ssh -T git@bitbucket.org и он работает, он проходит проверку подлинности.

Однако, когда я тестировал это с XCode, я получил следующую ошибку. «Аутентификация не удалась, поскольку имя или пароль были неправильными.»

Я знаю, что что-то здесь упущено.

ОБНОВЛЕНИЕ 2:

Мне удалось решить проблему, но только из командной строки, а не из XCode. Я опубликую свое решение позже, но не стесняйтесь, если у вас есть способ сделать это из XCode

Спасибо

Ответы [ 10 ]

17 голосов
/ 14 февраля 2012

Это сработало для меня, используя HTTPS URI, но мне нужно было удалить из него свое имя пользователя.Например, измените:

https://username@bitbucket.org/username/myrepo.git

на

https://bitbucket.org/username/myrepo.git

, затем введите свое имя пользователя и пароль при появлении запроса.

14 голосов
/ 26 декабря 2012

Удаление имени пользователя у меня не сработало. Но мне удалось решить эту проблему, добавив мой пароль в URL:

https://username:password@bitbucket.org/username/myrepo.git

4 голосов
/ 24 ноября 2011

Я смог использовать пользовательский интерфейс XCode, используя URL-адрес https и введя имя пользователя и пароль для своего bitbucket при появлении запроса.

3 голосов
/ 11 января 2016

iOS 9.2, Xcode 7.2, ARC включена

Кажется, что каждый раз, когда я запускаю новый проект Xcode, мне приходится ползти обратно к этому посту и другим, подобным ему, чтобы собратьрешение настроить мой * .git репозиторий для нового проекта.Моя цель с этим ответом - обновить и скомпилировать полное решение.Спасибо всем оригинальным авторам, особенно "тележке".

Для очень подробного описания, пожалуйста, перейдите по этой ссылке: http://www.appcoda.com/git-source-control-in-xcode/

1.Создайте свой новый проект Xcode как обычно, но убедитесь, что вы включили управление исходным кодом, см. Ниже:

Если вы этого не сделали, перейдите сюда, чтобы узнать, как это сделать после завершения проекта.уже создано: https://stackoverflow.com/a/17790306/4018041

Enable source control when creating your project.

2.В верхней панели инструментов выберите «Управление источником» -> «текущая ветка» -> «Настройка имени вашего проекта», см. Ниже:

Configure the source control

3.Выберите Remotes на вкладке меню конфигурации, нажмите знак «+» и выберите «Добавить пульт», см. Ниже:

Add remote source

4.Вам будет предложено ввести имя хранилища и ввести адрес хранилища, см. Ниже:

Здесь вы будете использовать инструкции «тележка», приведенные здесь: https://stackoverflow.com/a/9271409/4018041

https://bitbucket.org/username/myrepo.git

В приведенном выше примере «myrepo» - это имя репозитория на bitbucket.org;но локально вы можете назначить любое имя, которое вы хотите, имя по умолчанию «origin», как вы видите на рисунке ниже.

Enter a repository name and address

5,Введите имя пользователя и пароль, которые вы используете для доступа к своей учетной записи bitbucket.org, см. Ниже:

Скорее всего, ваше имя пользователя - это адрес электронной почты, который вы использовали для регистрации.

Credentials for the repository

6.После нажатия OK, и если учетные данные были приняты, вы должны получить зеленую галочку.Вот и все!

После этого вы можете использовать Source Control-> Push свой локальный * .git в свой репозиторий bitbucket.org, который локально называется «origin» (по умолчанию).

Push local *.git repository to origin

Аналогичный текст с зеленой галочкой появится при успешном возврате в хранилище bitbucket.org.

Примечание: Убедитесь, что вы зафиксировали первоначальное изменение для проекта, чтобы ваш локальный * .git был правильно создан.

Надеюсь, это кому-нибудь поможет.Ура!

2 голосов
/ 28 августа 2013

Вот попытка полного ответа…

Создайте ключ bitbucket, если вы не используете ssh-keygen. Выберите подходящее имя, например, bitbucket_rsa, если вы создадите ключ rsa. Поместите это в ~/.ssh/.

Как только это будет создано, добавьте:

Host bitbucket.org  
HostName bitbucket.org  
IdentityFile ~/.ssh/<bitbucket key filename above>

в ~ / .ssh / config.

Затем добавьте этот ключ в веб-интерфейс Bitbucket с помощью инструмента Manage Account > SSH Keys. Чтобы получить ключ public в буфер обмена, используйте:

$ pbcopy < ~/.ssh/<bitbucket key filename above>.pub

Наконец, убедитесь, что вы используете ssh-адрес, предоставленный Bitbucket, а не https. Они выглядят так:

git@bitbucket.org:accountname/repositoryname.git

и доступен из выпадающего меню HTTPS (в настоящее время на правой боковой панели).

Xcode (включая Xcode 5) теперь должен работать, как и Git из командной строки.

1 голос
/ 04 января 2013

Вы можете решить эту проблему в XCode, не заходя в командную строку. В вашем вопросе все было правильно, но вы неправильно указали URL.

Это должно быть: git@bitbucket.org: username / myrepo.git

Вместо того, что у вас было: ssh: //git@bitbucket.org/username/myrepo.git

0 голосов
/ 18 августа 2013

Мне удалось заставить XCode принимать и использовать мой SSH-ключ, который я ранее настроил с помощью Bitbucket, указав git в качестве имени пользователя (в пользовательском интерфейсе XCode), указав свой пароль, и мое имя пользователя Bitbucket указывается в URL-адресе репо

Пришлось несколько раз возиться с ним, прежде чем он начал работать.

0 голосов
/ 07 августа 2013

Я знаю, что уже есть несколько ответов, но я не могу заставить его работать на меня до одного часа, поэтому, возможно, я помогаю кому-то там.

Моим решением было просто добавитьмое имя пользователя на https://bitbucket.org/USERNAME/PROJECT_NAME/admin/access в качестве администратора, так что я могу просто ввести Xcode в качестве URL https://USERNAME@bitbucket.org/USERNAME/PROJECT_NAME.git с моим именем пользователя и паролем.

ВАЖНО: USERNAME означает пользователя, ХОСТИНГ проекта, поэтому есливы работаете над репо вашего коллеги, это будет его имя пользователя.

Надеюсь, это поможет.

0 голосов
/ 15 ноября 2011

Хорошо. Похоже, я не смог сделать это через XCode Client.

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

Наконец то, что мне просто нужно было сделать, это:

$git push myrepo master

И я получил сообщение об успехе:

Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 360 bytes, done.
Total 4 (delta 3), reused 0 (delta 0)
remote: bb/acl: username is allowed. accepted payload.
To ssh://git@bitbucket.org/username/myrepo.git
 123abcd..5a12a67  master -> master
0 голосов
/ 15 ноября 2011

Вы должны добавить сгенерированный SSH-ключ к своей учетной записи.

Я использую GitHub, но BitBucket - это его клон, поэтому применяются те же процедуры:

cat ~/.ssh/id_rsa.pub | pbcopy

Теперь попробуйте заново подключиться.

...