その(239)で軽く触れたXcodeのブランチ機能は、gitというバージョン管理ツールを使ってます。

 これを使うとソースの変更を履歴として残すことができて「バグ修正のつもりで書き直したらアプリが動かなくなっちまったけど、あっちこっち変更したんで、修正前のソースがどんなだったか覚えてねーよ」てな悲劇を回避できるわけですな。

 バージョン管理ツールは他にもいろいろあるんですが、gitはローカルディスクにバージョン管理情報を残す事ができ、サーバーを必要としない点で個人向けに非常に使い勝手がいい(Linus Torvaldsさん、ありがとう)。

 プロジェクトフォルダ内に.gitってフォルダが作られます。名前の先頭に「.」がついてるのでFinder上では表示されません。見たい人はターミナルで「ls -a {プロジェクトフォルダへのパス}」ってやると表示されるでしょう。
 例えば、デスクトップ上に「hello」ってプロジェクトフォルダ作っていれば

$ ls -a ~/Desktop/hello
. .DS_Store hello helloTests
.. .git hello.xcodeproj

て感じで表示できます。

 そのためXcode 4からは直接利用できるようにもなって、新規プロジェクト作成時にはgit使うか問い合わせてくるようになったわけです。

0
これね

 ただ~、大勢でワイワイやりながらアプリケーションを開発したい場合は、インターネットで共有できるバージョン管理機構が欲しいわけですよ。

 その場合はサーバーが必要になるわけです。
 そしてインターネット上で公開された無料で使えるgitサーバー、それがGitHubちゅーわけです。

 つーことで、ここからはGitHubを使うためのアカウント登録と、実際に自分が作ったプロジェクトをGitHubで公開する過程を紹介~。
 まずは下のリンク↓からGitHubサイトにGoだ!

GitHub

 初めての人には次のような画面が表示され、ここで1、2、3、4のステップを実行してアカウント登録をする事で、GitHubで自分のプロジェクトを公開できるようになるわけです。無料で。

1

 Usernameには半角英数字と「-」ダッシュが使えます。
 アカウント登録完了と共にサインインされて、自分のGitHubでのホーム画面が表示される事になる。

 細かい事は一番上の「Help」で調べてもらうとして、とりあえずXcodeのhelloプロジェクトをGitHubで公開してみましょう。
 新しいプロジェクトを公開するには、右下にある「New repository」てボタンをクリックします。

2

 repository:リポジトリてのは容器って意味で、これから作成するXcodeのhelloプロジェクトの履歴を含んだ容器って意味になります。
 なので「New repository」ボタンをクリックして表示される画面でリポジトリ名は「hello」にする。1、2、3、4とステップを実行してhelloリポジトリを作りましょう。

 ここで重要なのはステップ3。
 README(リポジトリの説明ファイル)はあった方がいいんだけど、事前にファイルが1つでも存在するとXcode側がhelloリポジトリに新規にプロジェクトを登録してくれない(Xcode 5.0.1では無理だった)。
 なので必ずチェックを外しておくように。
 最初「Skip this step if you have already run git init locally.」を読み落としてREADME用意してXcodeから登録しようとしたら思いっきりエラーになったわ。

3

 これでリポジトリの準備が完了。
 あとはXcodeでの作業となる。
 Xcodeでは今回作ったリポジトリのURLが必要となるので、HTTP側のURLをコピーしときます。
 コピったらGitHubからサインアウトするもよし、そのままXcodeに切り替えるもよしです。

4

 Xcode側では新規プロジェクトを作成。
 とりあえず、今回はSingle View Applicationテンプレートを指定したものを作りましょう。

5

 重要なのは、最後のプロジェクトフォルダの置き場所を決める時にCreate git repository on My Macをチェックしておく事。

6
後からターミナルで手動で設定とかめんどくさいからね

 ワークスペースウィンドウが開いたらSource Control→hello - master→Configure hello…メニューを選択。

7

 helloプロジェクトが使うgit設定用の画面が表示されるんで、Remotesタグ選んで、左下の「+」ボタン押して「Add Remote…」メニュー選びます。

8

 加えたいgitリポジトリの名前とURLを聞かれるので、名前を「hello」とし、URLにさっき
GitHubでコピーしたURLをペーストし、Add Remoteボタンをクリックだ。

9

 これでGitHubで用意したリポジトリがhelloプロジェクトが使うgitリポジトリとして追加される。
 Doneボタンをクリックしていつもの開発作業を開始。

10

 適当にソースを加工してRunしたりすると、加工したソースファイルには「M」てマークが付きます。

11

 Mは、最後の状態から変更された(Modified)という意味のマークです。ちなみに新規に作成しプロジェクトに追加した.mファイルにはAマークが付きます。追加(Add)のAね。
 この変更を、gitの最新履歴として登録するのがSource Control→Commit…メニュー。
 選ぶと変更部分の確認画面が出るんで、ここで変更についてのコメント(必須)を入れて、右下のCommit ~ボタンを押せば変更が最新履歴として登録されます。
 で、ここでボタンを押す前に左下のPush to remote:にチェックを入れておく事で、GitHub側で用意したhelloリポジトリにも変更が最新履歴として登録されるわけです。

12

 初めてのGitHub登録時は次のような画面が出てユーザー名とパスワードが聞かれるんで、GitHubアカウント登録時に指定したUsenameとパスワードを入力してOK押してください。

13

 これでGitHubに自分のプロジェクトが公開できます。
 今回はSource Control→Commit…メニューでPush to remote:にチェックを入れてGitHub側への履歴更新をしたけど、ここではチェックを付けずに後からGitHub側への履歴更新を実行する事も可能です。その場合は、Source Control→Push…メニューを使います。
 Pushというのは、Mac上(ローカル)のリポジトリの状態をGitHub側(リモート)のリポジトリの状態に反映させる作業です。

 再びGitHub側にサインインするか、サインインしたままそのまま放置してたならリロードでhelloリポジトリにhelloプロジェクトが現れているのが確認できます。

14

 これで仲間とインターネット越しに強調作業ができるようになるわけです。

 ま、他人のプロジェクトを変更する場合は、ブランチしてからプルリクエストしたりと、無法者と罵られないための、いろいろ細々したルールがありますが、そこらへんはいずれまた。