概要
SwiftUIを使った簡単なiOSアプリを作ることがあり、Xcodeを使って開発をしました。その際に使ったバージョン管理のgitについて、デフォルトでコミットから除外するファイルを指定する.gitignoreの記述でミスをしてしまいました。
ここでは、私がXcodeのプロジェクトで.gitignoreを設定した方法について紹介します。
環境
- Xcode 13.2
- macOS Monterey
なぜ.gitignoreを設定したのか
今回、複数人で簡単なSwiftUIを使ったiOSアプリを作る機会がありました。
複数人で開発をするということで、ファイルのバージョン管理にgitを導入したのですが、デフォルトで.gitignoreが作られているので、それで大丈夫と考えほとんどgitリポジトリの設定などはせず使っていました。
しかし、そのまま複数人で開発をしていると、コミットするとまずいようなファイルまでコミットされて、コンフリクトがよくおこるようになってしまいました。
そこで、コンフリクトしてはならないようなファイルなどをちゃんと判断して、.gitignoreを書き直すことにしました。
.gitignoreの設定
Xcodeのプロジェクトにおける.gitignoreの記述について調べたのですが、私自身がXcodeを使った開発に詳しくなく、どのようなファイルがどのような意味を持っているか、よく分からないため、除外するべきファイルがあまり分からず、困ってしまいました。
そこで、今回はgitignore.ioというサイトを利用して、.gitignoreファイルを作成することにしました。
こちらのサイトでは、様々なプロジェクトで使える.gitignoreを動的に作成することができ、私の場合は、「macOS、Swift、Xcode」と指定して、.gitignoreを作成しました。次のリンクから内容を確認できます。
https://www.toptal.com/developers/gitignore/api/macos,swift,xcode
この内容をコピーして、プロジェクトの一番上の.gitignoreのところにペーストしました。
これで、.gitignoreの設定は終わりです。
既にコミットしたファイルなどがある場合は、別の記事で紹介した方法によって除外しておくと良いと思います。
gitignoreを追加後に大量のファイルをまとめて除外する方法
さいごに
今回の設定をしていて気づいたのですが、Xcodeのプロジェクトで作られる.gitignoreファイルは、プロジェクトの一番上ではなく、アプリのコードなどが入っている、一段下のディレクトリでした。除外したファイルを見ると、元の.gitignoreが置かれたディレクトリとは異なる場所であったため、そもそもの設定が、あまり良くない可能性が高いです。