バージョン管理(by Git)

Xcode5は、十分Gitに対応しているので、その設定について記述する。
環境としては、
・実ソースは、Mac上の開発用ディレクトリ配下
・masterリポジトリは、同じMac上に作成
・originは、外部のLinuxサーバ上に作成

●手順

  • Xcodeでプロジェクトを作成するときに、保存ディレクトリを聞くダイアログが表示されるが、そのとき、下部の「Source Control」のCreate git repository on XXXXXのチェックボックスにチェックを入れる。
  • 試しに、TestViewController.hにプロパティを追加してソースをいじってみる。
  • masterはすでに出来ているので、commitする。
  • 試しに、GitのGUIツールのSourceTreeでプロジェクトのディレクトリを見てみると、masterまでソースが正しく登録されていることがわかる。
  • XcodeのSource Controlメニューのプロジェクト名の選択肢から「Configure プロジェクト名」を選択する。
    「Remotes」には何も登録されていないので、左下の「+」を押下して、Remote登録のダイアログを出す。
  • Nameは「origin」にする。Addressだが、Linuxサーバとはsshで通信するようにしてあるので、
    ssh://ユーザID@ホスト名やIPアドレス{:必要ならポート番号}/originを作成したディレクトリ/プロジェクトのディレクトリ名
    で登録する。
  • サーバ側のoriginのディレクトリで、
    mkdir プロジェクト名
    cd プロジェクト名
    git --bare init --shared
    cd ..
    chown -R root:git プロジェクト名

    を行っておく。

  • このとき、XCodeからPushしようとすると、「offline」と言われた。理由はよくわからないが、とりあえずXCodeを再起動したら今度は出なかった。問題なく、Pushもできた。

不明点:リモートのリポジトリを登録するときに、「Configure プロジェクト名」のダイアログで、「Create New Remote」が指定できるが、そのときに指定するServerの書き方がよくわからない。ssh使ってLinuxに接続するので単にアドレスとユーザ名、パスワード指定しても駄目。これって、OS X ServerのBotのためなのかな?少し手間だけど、リモートを作成するときには、Linuxにログインして手作業で作成しよう。


Adobe Creative Cloudは、まだGitに対応していない。少なくともDreamweaver CCはSubversionに対応。Gitはまだ。
少し手間だけど、一般的な手順としては、以下になる。

  • Dreamweaver等の作業ディレクトリをリポジトリとして登録する。SourceTreeのソフトの場合、Fileメニューの「New/Clone」でダイアログを出して、「Create Repository」で、作業ディレクトリを登録する。本当は、Working Copyにするのが良いのかも。
  • つぎに、「Repository」メニューからダイアログを開いて、「Remotes」でリモートリポジトリを登録する。書き方は、Xcodeの場合と同じ。事前にLinux上にディレクトリを用意しておくのも同じ。