WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

Xcodeプロジェクト用に.gitignoreを設定する

      2015/01/14

Xcodeでの.gitignore

.gitignoreはGitの追跡対象外とするファイルを指定するためのものです。

XcodeプロジェクトをGitで管理する際は.gitignoreを適切に設定しないと、ことあるごとにメタデータに差分がでたりして不便です。

Xcodeでigonoreすべきファイル

Xcodeのプロジェクトルート直下には”プロジェクト名.xcodeproj”というディレクトリがあります。
この.xcodeproj の中にはプロジェクトデータとユーザデータが一緒に入っています。このうち必要なファイルはごく一部です。

そこで、.xcodeprojのファイルは一旦すべて無視し、その後ホワイトリスト形式で必要なファイルだけを追跡対象として指定していきます。
.gitignoreには以下のように記述します。

*.xcodeproj/*

ワイルドカードを使ったのは、他のプロジェクトでも同じ.gitignoreを使い回せるように汎用性を持たせるためです。
それでは、一旦すべて無視した.xcodeprojの中から必要なファイルを抜粋していきます。

*.xcodeproj/project.pbxproj
これはプロジェクトの構成情報を格納するファイルで必要です。

*.xcodeproj/*.xcworkspace/contents.xcworkspacedata
これはプロジェクトのワークスペースのデータを格納するXMLファイルで、必要です。

したがって、最終的に.gitignoreは以下のようになります。

*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcworkspace/contents.xcworkspacedata

また、Githubにいろいろな開発環境にあわせた.gitignoreがあるので、そのうちのObjective-C向けのものを使ってみるといいかもしれません。

gitignore/Objective-C.gitignore at master · github/gitignore · GitHub

参考資料

 - Objective-C , ,