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