レンタルサーバ「heteml」にGitのリモートリポジトリを作成してXcodeのプロジェクトを管理する方法

昨年iPhoneのテザリングが解禁されてから頻繁にMacBook Airを持ち歩くようになり、外出先などでもiOSアプリを開発する機会が増えてきました。
これまでは、Xcodeのプロジェクトファイルをメインの開発環境(MacBook Pro)やモバイル用開発環境(MacBook Air)からDropboxを経由して共有していましたが、この機会にきっちりとバージョン管理をしようということで、以前より導入を検討していた「Git」を活用して下図の構成でプロジェクトを管理することにしました。

gitflow

ネットワーク越しのバージョン管理は、サーバー側とクライアント側にGitがインストールされている必要があります。
幸い弊社でお客様Webサイトをホスティングしているレンタルサーバ「heteml」では初めからGitがインストールされていますので、ここにリモートリポジトリを作成して複数の開発環境からバージョン管理ができるようにします。


ローカルリポジトリはMacBook Pro(とAir)に作成します。
Xcode自体でもGitが使えるようになっていますが、後ほどターミナルからgitコマンドを実行する必要があるので、あらかじめHomebrewなどでインストールしておきます。

$ brew install git

1. hetemlに空のリモートリポジトリを作成する

はじめにsshでhetemlに接続し、空のリモートリポジトリ(ベアリポジトリ)を作成します。
※hetemlでsshを利用する方法はこちら

ここでは、ホームディレクトリにiOSアプリのプロジェクトを管理するためのgit/iosapp/というディレクトリを作成しています。その中に「test_project.git」ディレクトリを作成してリポジトリにします。

$ mkdir iosapp
$ cd iosapp
$ mkdir test_project.git
$ cd test_project.git
$ git init --bare --shared

※後ほどレポジトリのパスを使用しますので、コマンドの結果に表示されたパスをコピーしておきます。
/home/sites/heteml/usersxxx/x/x/x/xxxx/git/iosapp/test_project.git

これでリモート側の準備はOKです。

2. Xcodeプロジェクトをローカルリポジトリに設定する

Xcodeで新規プロジェクトを作成します。この時、「Create local git repository for this project」にチェックを入れます。
usegitcheck
※Gitで管理していない既存プロジェクトの場合は、ターミナルでプロジェクトのディレクトリに移動しgit initコマンドでローカルリポジトリを設定します。

3. プロジェクトをリモートリポジトリにpushする

ターミナルでプロジェクトのディレクトリに移動しremote-originを設定します。

$ cd TestApp
$ git remote add origin ssh://ユーザ名@sshxxx.heteml.jp:2222/home/sites/heteml/usersxxx/x/x/x/xxxx/git/iosapp/test_project.git

さらにプロジェクトの内容をpushします。

$ git push origin master

パスワードを聞かれるのでssh用のパスワードを入力するとリモートリポジトリにプロジェクトがpushされます。

4. Organizerで確認

XcodeのOrganizerでリモートリポジトリが追加されたことを確認できます。

remoteadd

以上でレンタルサーバとGitを使ったXcodeプロジェクトの開発環境が整いましたので、複数のMacからアプリ開発ができるようになりました。

5. 別のMacからプロジェクトを管理するには?

別のMacからプロジェクトを管理する場合は、heteml上のリモートリポジトリをPullしてローカルリポジトリを作成します。
XcodeのOrganizerの画面左下にある「+」ボタンをクリックし「Checkout or Clone Repository…」を選択します。

checkoutrep

Locationに上記3のコマンドと同じURL「ssh://ユーザ名@sshxxx.heteml.jp:2222/home/sites/heteml/usersxxx/x/x/x/xxxx/git/iosapp/test_project.git」を入力して保存場所を設定するとプロジェクトがPullされます。

以降はターミナルからGitコマンドでバージョン管理します。
例えばリモートリポジトリから変更をPullする場合は以下のコマンドです。

$ git pull origin master

おすすめのGit本

初めてバージョン管理を学ぶ際は「アリスとボブのGit入門レッスン」がおすすめです。
Gitの概念や基本的な使い方について会話形式で学ぶことができます。

保存

Related posts