1

こんにちは、XCode 4 から git リポジトリにアクセスしようとしています。

コマンド ライン ツールを使用すると、すべてが正常に機能します。次を使用してレポを複製できます。

git clone git@example.com:somerepo.git

しかし、XCode では、使用しようとすると:

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

まったく使いたくないパスワードを何度も要求されます。

同じことが次の場合にも起こります。

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

「接続が拒否されました:ソケットに接続できません」というエラーメッセージも表示されることを除いて。

これを解決する方法はありますか?

4

7 に答える 7

5

Xcode 4.2では、次の場所の文字列が機能しました

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

このssh://部分は、どのプロトコルを使用する必要があるかを Xcode に伝えるために必要です。URL にスキームが含まれるようになったため、Git を満足させるにはポート:22指定子も必要です。ポートがないと、コマンド ラインに次の (奇妙な) エラー メッセージが表示されました: "ssh: ホスト ポート 22 に接続: 接続が拒否されました"。

ところで、オーガナイザー ウィンドウにリポジトリを追加すると、Xcode は「認証が必要です」とつぶやき、アクティビティ インジケーターを回転させ始めました。リポジトリをすぐにクローンできましたが、アクティビティ インジケーターを削除するには、Xcode を再起動する必要がありました。

于 2011-11-18T23:30:28.793 に答える
2

ssh://git@git.mydomain.com/myrepo を使用するとうまくいくことがわかりました。「git」は私が gitolite に使用したユーザー名であることに注意してください (Web サイトの指示に正確に従い、ユーザーの公開鍵を適切に追加します)。リポジトリの名前(最後に「.git」を追加しなくても機能します)。

もう 1 つの部分は、OpenSSH キーが ~/.ssh/id_rsa (プライベート; 0600 に chmod しないと機能しない) および ~/.ssh/id_rsa.pub (パブリック; これがどうかはわかりません) にあることを確認することです。が必要ですが、わざわざチェックすることはありません)。

上記は、少なくとも私にとっては「副作用」なしで常に機能します...

于 2012-01-06T04:35:56.877 に答える
1

少なくとも Xcode 4.2 では、プロトコルを指定する必要はありません。使うだけ

git@example.com:somerepo.git

私はこのスレッドを同様の症状で別の問題で見つけたので、新しいユーザーのために gitosis にキーを追加するのを忘れていたことを付け加えておきます。問題。

于 2011-11-28T21:30:37.177 に答える
1

XCode 4 は ~/.ssh ディレクトリで鍵ペアを探します

リモートリポジトリでユーザーに公開鍵を追加する必要があります

その後、XCode はリポジトリのクローンを作成できます

于 2011-04-18T12:53:40.220 に答える
1

GIT-SCM を使用する独自の GIT サーバーがあります。

URLを試してみてssh://user@git.mydomain.com:22/gitname.git、秘密鍵を入れました~/.ssh/user

CHMOD から 0600

接続すると、ユーザー名とパスワードの入力を求められますが、パスワードはありません

于 2014-01-14T17:54:22.160 に答える
1

xcode でターゲットに到達できない場合があるため、 proxy を有効にしていないことを確認する必要があります。

リポジトリ名を入力したら、リポジトリの「タイプ」が SVN ではなく git であるかどうかを確認する必要があります。これは、xcode でタイプを変更できることがわかったためです。

最後に、リポジトリへのアクセスに成功する必要があります。

于 2012-06-27T16:55:32.593 に答える
0

git プロトコルを使用して Git リポジトリを複製すること (これはコマンド ラインで実行したことです) は、ssh+git プロトコルを使用すること (これは XCode4 で最初に試したことです) と同じではありません。

$HOME/.sshディレクトリに公開鍵が見つからない場合、パスワードを要求するのは ssh だけです。
また、サーバーのポート 9418 にアクセスできる場合はexample.com、複製に ssh は必要ありません (example.comただし、サーバーに認証レイヤーが設定されている場合は必要になる場合があります) 。

「ソケットに接続できません」というエラーは、ファイアウォール/プロキシの問題の典型です: Git エラー: 致命的: ソケットに接続できません (無効な引数) を参照してください。

あなたのを確認してくださいgit config -l:XCode 4は、gitがコマンドラインで使用したのとまったく同じ設定を使用しない可能性があります。

于 2011-04-12T11:01:09.493 に答える