Xcode 4でのGitの統合は非常に歓迎されますが、リモートリポジトリの処理に関しては少し不安定なようです。わかりやすくするために、OS Xバージョン10.6.7とXcode 4.0.2(4A2002a)を使用しています。
新しいXcode 4プロジェクトを作成し、ローカルGitリポジトリを作成するオプションを受け入れた場合、すべて順調です。私はローカルでコミットでき、それは素晴らしいことです。
新しいプロジェクトをGitHubにプッシュする場合、リモートリポジトリを追加し、ローカルの変更をGitHubにプッシュします。オーガナイザーウィンドウでGitHubリポジトリを新しいリポジトリとしてXcode 4に追加できますが、既存のプロジェクトのリモートリポジトリとして設定する方法はありません。
そこで、ターミナルでgitコマンドを使用するように切り替えます。
git remote add Origin https://<username>@github.com/<organization>/<repository>.git
その後、Xcode 4に戻って使用しようとすると
ファイル->ソース管理->プッシュ...
次に、変更をプッシュするリポジトリを選択してください。ダイアログが表示され、Originリモートリポジトリが一覧表示されます。認証が必要であることを示す黄色のインジケータがあります。これは、HTTPSの資格情報をまだ入力できていないので問題ありません。ただし、「プッシュ」をクリックして変更をプッシュしようとすると、「リポジトリ「Origin」へのアクセスが拒否されたため、操作を実行できませんでした」と表示されます。
ユーザー名とパスワードの入力を求めるダイアログが事前に入力された状態で表示されるため、ローカルリポジトリの設定からこれを正しく読み取る必要があります。
パスワードを入力すると、Xcode 4は次のエラーでクラッシュします
ASSERTION FAILURE in /SourceCache/IDEKit/IDEKit-303/Framework/Classes/SourceControl/IDESourceControlOperationInfo.m:59
Details: Message sent to invalidated object: <IDESourceControlPushOperationInfo, 0x200bd2a80>. Backtrace for invalidation:
(null)
Object: <IDESourceControlPushOperationInfo: 0x200bd2a80>
Method: -invalidate
Thread: <NSThread: 0x200020700>{name = (null), num = 1}
Hints: None
Xcodeを再起動すると、Originリポジトリがオーガナイザーのリポジトリブラウザーに追加され、GitHubにマスターブランチが表示されるため、資格情報が正しいことがわかります何も変えずに。
最初にローカルプロジェクトから始めてGitHubでXcode 4を使用する信頼できる方法を見つけた人はいますか?
Xcodeプロジェクトを含む既存のGitHubリポジトリのクローンを作成し、Xcode 4で開くと、最初のプッシュが失敗したように見えても、2番目のプッシュが機能しました。したがって、Xcode 4を使用して絶対にゼロから始めて、リポジトリを作成するのは最良のパターンではありません(Xcode 4の以降のバージョンでGitツールが改善されるまで)。
この例は、GitHubリポジトリに追加する最初のプロジェクトにのみ実際に適用されます。そのため、このソリューションにはまだXcodeの「落とし穴」が残っているように思われるので、次の手順をお勧めします。
私が見つけたもののまだ解決できていないことの1つは、GitHubから返された応答メッセージがチェックインハッシュ値とすべてのメッセージがXcode Logナビゲータでプッシュ失敗として報告されるように見えることです。 GitHubは懸念しています。
他の誰かがより良い解決策を持っていますか?
既存のプロジェクトをGitHubまたは他のリモートリポジトリにプッシュするXcodeの方法を見つけたと思います!
XcodeでOrganizerを開き、Repositoriesタブに移動します
最初にRemotesをクリックしてから、「Add Remote」をクリックします
リモートリポジトリのRemote NameとLocationを入力し、[作成]をクリックします。
次に、プロジェクトを選択してFile -> Source Control -> Push ...
を開きます
リモートリポジトリを選択し、接続可能になるまで待ちます!括弧内のCreateを探します。
これで、古いプロジェクトがGitHubに公開されました
それがあなたにとってもうまくいくことを願っています!私の場合、すべてのリモートgitリポジトリで動作します。
不明な点や悪い英語で書かれたものがある場合は Twitter でご連絡ください!
私はこれをssh接続([email protected]:<username>/<project>.git
)。 SSH公開鍵に基づいてユーザーを認証します。SSH公開鍵は、コマンドラインで生成できます。これについては、「ヘルプ」セクションのgithubでドキュメントの多くが生成されます。
Xcode 6.2(および場合によっては6.x)で状況が変わりました。オーガナイザーに「リポジトリー」タブはなくなりました。新しいXcodeでこれを行う方法を次に示します。
ローカルgitリポジトリを含むプロジェクトをGitHubに追加するには、次のようにします。
できた.