XcodeのためにGitとGithubを配置します.

3348 ワード

1.新規のXcodeプロジェクトにGitを使うにはどうすればいいですか?
Xcode 4は最初からGitを内蔵のソースコード制御ツールとして使っていますので、新規プロジェクトのためにgitを使って管理するのは便利です.
新規プロジェクトウィザードでは、Gitを直接ソースコード制御ツールとして選択し、プロジェクトの新規作成ウィザードを完了すると、ローカルプロジェクトの下に倉庫が新設されます.
2.既に存在しているプロジェクトにGitを使うにはどうすればいいですか?
既にプロジェクトが存在しているなら、Gitを使いたいです.Gitのコマンドラインを使って操作してもいいです.
このプロジェクトのルートディレクトリを仮定します. ~/Dcuments/Project/Project A
(1)端末で先にこのディレクトリに入る:
cd ~/Documents/Projects/ProjectA
(2)このディレクトリでGit倉庫を初期化する:
git init
(3)ご注意ください.この場合は、カタログの下のすべてのファイルを急いで追加しないでください.まず、Mac OS X上の不要ファイルの排除(exclude)を手動で設定して、プロジェクトルートディレクトリ(ProjectA)の下で新規作成します.gitignoreファイルは、このファイルに以下のような排除ルールを追加します.
#   build  
build/*
 
# Exclude temp nibs and swap files
#   nib         
*~.nib
*.swp
 
#   OS X          
.DS_Store
 
#   xcode3 xcode4          
*.mode1
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*.pbxuser
xcuserdata
上のルールはほとんどの開発者がバージョンコントロールを必要としないファイルだけでなく、実際の必要に応じて他の排除ルールを追加することもできます.
(4)git倉庫にソースファイルを追加する
ターミナルコマンド行に引き続き、Project Aの下に入ります.
git add .
git commit -m "Initial commit"
Xcodeを再起動すると、Orgnizerビューの「Repositories」タブ画面でProject Aの倉庫が見られ、ソースコードの初回提出が完了しました.その後、ソースコードのローカル倉庫でのバージョン制御が可能になる.
3.XcodeのローカルGit倉庫とGithubの遠隔倉庫をどうやって集積しますか?
Githubの理念はGitに由来していますが、Gitと比べて既にいくつかの異化した機能特性(例えばPull Request)がありますので、両者は完全に一致していません.しかし、バージョンコントロールの面から言えば、違いはあまりないです.このため、Xcodeに内蔵されたGit管理機能を利用して、Githubクライアントを追加的にインストールすることなくGithubと接続することができます.
Githubの倉庫の住所は二つの方式があります.
一つはSSH接続方式で、形式は:[email protected]:Hao-Wu/ProjecA.git
一つはHTTP形式で、形式は:https://github.com/Hao-Wu/ProjectA.git
この二つの倉庫の住所は認証方式が違います.SSH接続のために、非対称公開鍵認証方法を使用する.HTTP接続には、アカウントパスワード認証方式を使用します.
3.1 SSH方式を使用する
#           ssh  
$ cd ~/.ssh
以前にすでにssh鍵ペアが生成されていたら、これが存在します.sshディレクトリ、ディレクトリの下にid_があります.RSa.pub公開鍵ファイル.この鍵対生成の詳細を覚えていれば、直接に持ってきて使うことができます.さもないとあと半分で新しい鍵を生成します.
#    SSH   
$ ssh-keygen -t rsa -C "[email protected]"

Enter passphrase (empty for no passphrase): [    ]
Enter same passphrase again: [      ]
ここでSSH鍵ペアが生成され、次にid_を生成します.RSa.pubファイルはテキストエディタで開き、その中のすべての文字列をコピーしてウェブ版のgithub.comのSSH公開鍵設定に貼り付けます.このようにXcodeはSSH認証を利用してgithubと接続できます.まずテストしてみます
$ ssh -T [email protected]
本機はgithubに接続要求を出します.Mac OSはいくつかのセキュリティ認証と認証の取得を要求するメッセージボックスをポップアップします.許可を選択してください.もしgithubのサーバが戻ってきたら、
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
これは、ローカルのgitが、githubサーバと通信することに成功したということである.(上記の訪問が断られたことを心配しないでください.)githubサーバと接続できると確定したら、Project Aのローカルgit倉庫にリモートアドレスを追加することができます.
順を追ってクリックします  Orgnizer–Repositories–Project A–Remotes–>Add Remote
Project Aのgithub上の住所を入力します.(もしなかったら、githb.comの倉庫管理ページにProject Aという倉庫を新設します.)[email protected]:Hao-Wu/ProjecA.git
UsernameとPasswordは入力せずにOrgnizerビューを閉じます.File–>Source Controlでローカル倉庫のコードをgithubにPushすることができます.
3.2 HTTP方式を使用する
http認証を使うとSSH証明書を生成するステップは省略されますが、提出するたびにgithubのアカウントとパスワードを入力する必要があります.
同様に、Orgnizer–Repositoris–Project A–Remotes–>Add Remoteを順次クリックします.
Project Aのgithubにあるhttp形式のアドレスを入力します.https://github.com/Hao-Wu/ProjectA.git
UserNameとPaswordにはそれぞれgithubサイトに登録されたユーザ名とパスワードを入力します.Orgnizerビューをオフにします.File->Source Control–Pshはgithubにローカル倉庫のコードをプッシュできます.このプロセスは、もう一度githubのユーザ名とパスワードを入力する必要があります.