私はBitbucketとXCodeを使った解決策を探していました。
誰もが知っているように、XCode4.2にはgitサポートが付属しています。 bitbucketアカウントを作成し、変更をリポジトリにプッシュしたかったのですが、
私はこのチュートリアルに従いました https://confluence.atlassian.com/display/BITBUCKET/Use+the+SSH+protocol+with+Bitbucket
しかし、これは私が直面している問題です。 XCodeのOrganizer-Repositoriesセクションにいるときは、remotesフォルダーに移動してリポジトリを作成します。
ssh://[email protected]/username/myrepo.git
しかし、名前とパスワードを尋ねられたとき、ユーザー名とパスワードとして提供したものは失敗します。私もユーザーとしてgitを試してみましたが、うまくいきませんでした。
更新:
〜/ .ssh/configファイルを作成し、bitbucketの特定の構成を追加しました。
Host bitbucket.org
HostName bitbucket.org
IdentityFile ~/.ssh/bitbucket
User username
Ssh -T [email protected]でテストしましたが、動作し、認証されます。
ただし、これをXCodeでテストすると、次のエラーが発生しました。 「名前またはパスワードが正しくないため、認証に失敗しました。」
私はここで何かが足りないことを知っています。
更新2:
私は問題を解決することができましたが、XCodeからではなく、コマンドラインからのみです。後でソリューションを投稿しますが、XCodeからそれを行う方法があればお気軽に
ありがとう
HTTPS URIを使用することで機能しましたが、ユーザー名を削除する必要がありました。例:変更:
https://[email protected]/username/myrepo.git
に
https://bitbucket.org/username/myrepo.git
次に、プロンプトが表示されたらユーザー名とパスワードを入力します。
ユーザー名を削除してもうまくいきませんでした。しかし、次のようなパスワードをURLに追加することで、問題を解決することができました。
Https URLを使用し、プロンプトが表示されたらビットバケットのユーザー名とパスワードを入力することで、XCodeUIを使用できました。
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
2。上部のツールバーから、[ソース管理]-> [現在のブランチ]-> [プロジェクト名]を構成します。以下を参照してください:
3。 [設定]メニュータブから[リモート]を選択し、[+]記号を押して、[リモートの追加]を選択します。以下を参照してください:
4。リポジトリ名とリポジトリのアドレスを入力するように求められます。以下を参照してください:
ここでは、ここで提供されている「トロリー」の手順を使用します: https://stackoverflow.com/a/9271409/4018041
https://bitbucket.org/username/myrepo.git
上記の例では、「myrepo」はbitbucket.orgのリポジトリの名前です。ただし、ローカルでは任意の名前を割り当てることができます。次の図に示すように、デフォルトの名前は「Origin」です。
5。 bitbucket.orgアカウントへのアクセスに使用するユーザー名とパスワードを入力します。以下を参照してください:
ユーザー名は、登録に使用した電子メールである可能性があります。
6。 [OK]を押した後、資格情報が受け入れられた場合は、緑色のチェックマークメッセージが表示されます。それだけです!
この後、ソース管理->ローカルの* .gitをbitbucket.orgリポジトリにプッシュできます。このリポジトリには、ローカルで「Origin」(デフォルト)という名前が付けられています。
Bitbucket.orgリポジトリへのプッシュアップが成功すると、緑色のチェックマークが付いた同様のテキストが表示されます。
注:ローカルの* .gitが適切に作成されるように、プロジェクトの初期変更をコミットしてください。
これが誰かを助けることを願っています。乾杯!
これが完全な答えの試みです…
ssh-keygen
を使用していない場合は、ビットバケットキーを作成します。 rsaキーを作成すると仮定して、bitbucket_rsa
のような適切な名前を選択します。 ~/.ssh/
に入れてください。
これが作成されたら、以下を追加します。
Host bitbucket.org
HostName bitbucket.org
IdentityFile ~/.ssh/<bitbucket key filename above>
〜/ .ssh/configに。
次に、Manage Account > SSH Keys
ツールを使用して、このキーをBitbucketWebインターフェイスに追加します。 publicキーをクリップボードに取得するには、次を使用します。
$ pbcopy < ~/.ssh/<bitbucket key filename above>.pub
最後に、Bitbucketが提供するsshアドレスとhttpsアドレスを使用していることを確認してください。これらは次のようになります。
[email protected]:accountname/repositoryname.git
hTTPSというラベルの付いたドロップダウン(現在は右側のサイドバーにあります)からアクセスできます。
Xcode(Xcode 5を含む)は、コマンドラインからのgitと同様に機能するはずです。
コマンドラインに行かなくても、XCodeでこの問題を解決できます。質問にはすべて正しいものがありましたが、URLの設定が間違っていました。
次のようになります:[email protected]:username/myrepo.git
あなたが持っていたものの代わりに:ssh://[email protected]/username/myrepo.git
すでにいくつかの答えがあることは知っていますが、1時間までうまくいかなかったようですので、誰かを助けているのかもしれません。
私の解決策は、管理者としてユーザー名をhttps://bitbucket.org/USERNAME/PROJECT_NAME/admin/access
に追加するだけだったので、通常はユーザー名とパスワードを使用してURL https://[email protected]/USERNAME/PROJECT_NAME.git
としてXcodeに入力できました。
重要:USERNAMEは、プロジェクトをホストしているユーザーを表します。したがって、同僚のリポジトリで作業している場合、これが彼のユーザー名になります。
お役に立てれば。
生成したSSHキーをアカウントに追加する必要があります。
私はGitHubを使用していますが、BitBucketは基本的にそのクローンであるため、同じ手順が適用されます。
cat ~/.ssh/id_rsa.pub | pbcopy
次に、再接続してみてください。
(XCode UIで)ユーザー名としてgitを指定し、パスワードを入力することで、以前にBitbucketで設定したSSHキーを受け入れて使用するように、XCodeを取得できました。Bitbucketのユーザー名はリポジトリのURLに入力されます。
それが機能し始める前に、それを数回いじらなければなりませんでした。
わかりましたXCodeクライアントを介してそれを行うことができなかったようです。
ただし、コマンドラインは変更をプッシュするための唯一の方法であり、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://[email protected]/username/myrepo.git
123abcd..5a12a67 master -> master