2011-11-15 17 views
17

Szukałem rozwiązania z Bitbucket i XCode.Bitbucket + XCode 4.2 + Git

Jak każdy wie, XCode 4.2 jest wyposażony w obsługę git. Utworzyłem konto bitbucket i chciałem pchnąć moje zmiany do mojego repozytorium

Mam następnie ten poradnik https://confluence.atlassian.com/display/BITBUCKET/Use+the+SSH+protocol+with+Bitbucket

Jednak jest to problem jestem stoi. Kiedy jestem w Organizerze - sekcji Repozytoria w XCode, przechodzę do mojego folderu pilotów i tworzę repozytorium.

ssh: //[email protected]/username/myrepo.git

Jednak gdy jestem proszony o nazwę i hasło, te mogę dostarczyć jak nazwa użytkownika i hasło nie powiedzie się. Próbowałem również z git jako użytkownik, ale bez powodzenia.

UPDATE:

Utworzyłem plik ~/.ssh/config gdzie Dodałem konkretną konfigurację bitbucket.

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

Przetestowałem go z ssh -T [email protected] i działa, to zostanie uwierzytelniony.

Jednak, gdy testuję to z XCode, otrzymałem następujący błąd. "Uwierzytelnienie nie powiodło się, ponieważ nazwa lub hasło było nieprawidłowe."

Wiem, że czegoś tutaj brakuje.

UPDATE 2:

udało mi się rozwiązać ten problem, ale tylko z linii poleceń, a nie z XCode. wyślę moje rozwiązanie później, ale czuć się swobodnie, jeśli masz sposób, aby to zrobić z XCode

Dzięki

Odpowiedz

17

To zadziałało dla mnie za pomocą identyfikatora URI HTTPS, ale musiałem usunąć z niego swoją nazwę użytkownika. Na przykład zmiana:

https://[email protected]/username/myrepo.git

do

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

następnie podać swój login i hasło, gdy pojawi się monit.

+0

2 dni, dziękuję. w końcu to zrobiłem :) – kemdo

+0

Domyślnie dla mnie był to ssh: // git @ bitbucket .... i musiałem go zmienić na https: // bitbucket ... Dzięki za pomoc –

0

Trzeba dodać wygenerowany klucz SSH do swojego konta.

używam GitHub, ale BitBucket jest w zasadzie klonem nim więc obowiązują te same procedury:

cat ~/.ssh/id_rsa.pub | pbcopy 

Teraz spróbuj ponownie nawiązać połączenie.

+0

Dzięki Blender, ale już wkleiłem klucze do bitbucket.Jednak zauważyłem, że miałem wiele kluczy ssh, więc zaktualizowałem swoje pytanie. – raul782

+1

to tylko mała sugestia, nie używaj tutaj kota. pbcopy <~/.ssh/id_rsa.pub – Frizi

0

OK Wygląda na to, że nie mogłem przejść przez klienta XCode.

Jednak linia komend to jedyny sposób, w jaki udało mi się przeforsować moje zmiany, a XCode pomógł mi tylko ustawić zdalne repozytorium i dodać referencje.

Wreszcie, co ja po prostu potrzebne do zrobienia jest:

$git push myrepo master 

I mam wiadomość sukcesu:

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://[email protected]/username/myrepo.git 
123abcd..5a12a67 master -> master 
4

byłem w stanie korzystać z interfejsu XCode za pomocą adresu URL https i wprowadzanie nazwy użytkownika i hasła bitbucket, gdy zostaniesz o to poproszony.

14

Usunięcie nazwy użytkownika nie działało dla mnie. Ale udało mi się rozwiązać ten problem przez dodanie moje hasło tak, aby URL:

https://username:[email protected]/username/myrepo.git

+0

To działało również dla mnie, ale zastanawiam się, czy to jest bezpieczne. Podejrzewam, że Xcode przechowuje teraz moje hasło w zwykłym tekście. – icant

+2

Zabezpieczam hasłem komputera Mac :) –

+0

To działało dla mnie. Dzięki za te informacje. – 1amtoo1337

1

Można rozwiązać ten problem w Xcode bez przechodzenia do wiersza poleceń. W pytaniu masz wszystko, ale źle ustawiłeś URL.

Powinno być: [email protected]: nazwa_użytkownika/myrepo.git

Zamiast tego, co miał: ssh: //[email protected]/username/myrepo.git

+0

SSH jest przydatny, jeśli włączona jest weryfikacja dwuetapowa. –

0

wiem jest już kilka odpowiedzi, ale wydaje mi się, że nie działa to dla mnie aż do godziny, więc może pomagam komuś tam.

Moim rozwiązaniem było po prostu dodanie mojej nazwy użytkownika do https://bitbucket.org/USERNAME/PROJECT_NAME/admin/access jako administratora, więc mógłbym normalnie wpisać Xcode jako URL https://[email protected]/USERNAME/PROJECT_NAME.git z moją nazwą użytkownika i hasłem.

WAŻNE: USERNAME oznacza użytkownika HOSTING projektu, więc jeśli pracujesz nad repo swojego kolegi, będzie to jego nazwa użytkownika.

Mam nadzieję, że to pomoże.

0

Udało mi się przekonać XCode do zaakceptowania i użycia mojego klucza SSH, który wcześniej skonfigurowałem za pomocą Bitbucket, określając git jako nazwę użytkownika (w interfejsie XCode), i wpisując moje hasło, a moja nazwa użytkownika Bitbucket przechodzi pod adres URL repo.

Musiałem się z tym pogodzić kilka razy, zanim zaczęło działać.

2

Oto próba pełnej odpowiedzi ...

Tworzenie klucza bitbucket jeśli nie używając ssh-keygen. Wybierz przyzwoitą nazwę, na przykład bitbucket_rsa, zakładając, że utworzysz klucz RSA. Umieść go w ~/.ssh/.

Gdy to stworzył, dodać:

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

do ~/.ssh/config.

Następnie dodaj ten klucz do interfejsu sieciowego Bitbucket za pomocą narzędzia Manage Account > SSH Keys. Aby uzyskać klucz publicznyna korzystania Schowek:

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

Wreszcie, upewnij się, że używasz adresu ssh dostarczone przez Bitbucket vs https jednym.Te wyglądają następująco:

. Dostęp do nich można uzyskać po rozwinięciu oznaczonym HTTPS (obecnie na prawym pasku bocznym).

Xcode (w tym Xcode 5) powinien teraz działać, podobnie jak git z wiersza poleceń.

3

iOS 9.2, Xcode 7.2, ARC włączona

Wydaje się, że za każdym razem, kiedy rozpocząć nowy projekt Xcode, muszę się czołgać z powrotem na to stanowisko, a inni jak to umieścić razem rozwiązanie dostać mój * Utworzono repozytorium .git dla nowego projektu. Moim celem w tej odpowiedzi jest aktualizacja i skompilowanie pełnego rozwiązania. Dziękuję wszystkim oryginalnym współpracownikom, zwłaszcza "wózkowi".

uzyskać bardzo dokładny opis, odnieś się do tego linku: http://www.appcoda.com/git-source-control-in-xcode/

1. Tworzenie nowego projektu Xcode jak zwykle, ale upewnij się, że umożliwienie kontroli źródła, patrz poniżej:

Jeśli nie zrobił tego, a następnie przejdź tutaj, aby zobaczyć, jak to zrobić kiedy zostanie już utworzony projekt: https://stackoverflow.com/a/17790306/4018041

Enable source control when creating your project.

2. Z górnego paska narzędzi wybierz kontrola źródła -> „obecny oddział” -> Konfiguracja „swoją nazwę projektu”, patrz poniżej:

Configure the source control

3. Wybierz zdalne na karcie menu Konfiguracja , uderzył w znak „+” i wybierz „Dodaj Remote”, patrz poniżej:

Add remote source

4. Zostaniesz poproszony o wpisanie nazwy repozytorium, a następnie wprowadź adres dla R epository, patrz poniżej:

Tutaj należy użyć instrukcji „wózek” przewidzianego tutaj: https://stackoverflow.com/a/9271409/4018041

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

W powyższym przykładzie, „myrepo” to nazwa repozytorium na bitbucket.org; ale lokalnie możesz przypisać dowolną nazwę, której domyślną nazwą jest "origin", jak widać na poniższym obrazku.

Enter a repository name and address

5. Wprowadź nazwę użytkownika i hasło, którego używasz do uzyskania dostępu do konta bitbucket.org, patrz poniżej:

Twoja nazwa użytkownika jest najprawdopodobniej e-mail użyty przy rejestracji .

Credentials for the repository

6. Po naciśnięciu przycisku OK, a jeśli poświadczenia zostały zaakceptowane, wówczas należy uzyskać zielony znacznik wyboru wiadomość. To jest to!

Po tym możesz sterować źródłami-> Prześlij lokalny * .git do repozytorium bitbucket.org, które nazywa się lokalnie jako "origin" (domyślnie).

Push local *.git repository to origin

Podobny tekst z zielony znacznik wyboru pojawi się po pomyślnym push up do repozytorium bitbucket.org.

Uwaga: Upewnij się, że zatwierdziłeś wstępną zmianę projektu, aby lokalny * .git został poprawnie utworzony.

Mam nadzieję, że to komuś pomaga. Twoje zdrowie!

+0

Można nawet synchronizować z protokołem SSH, podając w kroku 4 adres URL SSH ([email protected]: nazwa_użytkownika/myrepo.git). Jest to użyteczne, jeśli włączona jest weryfikacja dwuetapowa. –

+0

[Mad Hacker] (http://stackoverflow.com/a/14146625) pokazał to. –

+0

kudos @ serge-k, dziękuję za to. –