Xcodeプロジェクト用の.gitignoreを作成する

XcodeプロジェクトをそのままGitで管理すると、
.xcodeprojファイル配下のメタデータに毎回差分が出て
その度にCommitを要求されて非常にめんどくさい!です。

Gitに無視してほしいファイルを.gitignoreで指定すると、
そんな面倒な手間からおさらばすることができます。


.gitignoreの基本的な書き方

まず、.gitignoreの基本的な書き方はこんな感じ。

# コメントは行頭に"#"をつけます。

# glob パターンが使えます。
#拡張子が".txt"のファイルを無視します。(サブディレクトリ含む)
*.txt

# "tmp"ディレクトリ配下のファイルを全て無視します。
tmp/

# 拡張子が".m"のファイルは無視しません。
!*.m

ちなみに、glob パターンについてはこちらが参考になります。


Xcodeプロジェクト用の.gitignoreを作成する

Xcodeプロジェクトは、こんな構成になってます。
なお、スクリーンショットは
Appleが公開しているTwitter Frameworkの公式サンプルのものです。

このうち、ソースコードや画像やXMLなどのリソースファイルなど、
Tweeting.xcodeproj以外のファイルは、当然のごとくGitで管理するべきです。

.xcodeprojファイルは実体はディレクトリで、こんな構成になってます。

では、.gitignoreファイルを作っていきます。
まず、.xcodeproj配下のファイルは全て無視にしちゃいます。
※他プロジェクトでも使いまわせるよう、.xcodeprojファイルの名前は任意

*.xcodeproj/*

次に、.xcodeproj配下のファイルのうち、
例外的にGit管理対象とすべきファイルを設定します。

!*.xcodeproj/project.pbxproj
!*.xcworkspace/contents.xcworkspacedata
  • *.xcodeproj/project.pbxproj
    プロジェクトの構成情報を格納するファイルです。
  • *.xcodeproj/*.xcworkspace/contents.xcworkspacedata
    プロジェクトのワークスペースのデータを格納するXMLファイルです。

.DS_StoreはMac OSが自動で生成するファイル情報格納用ファイルであり、
Gitで管理する必要が全くないので、無視です。

.DS_Store

完成した.gitignoreがこちら。

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

これが、私がいろんな試行錯誤を経て現在使用している.gitignoreです。


参考

  1. Reblogged this on PGMY's Blog in Japanease and commented:
    おぉ!素敵記事発見した!

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。