🦅

[iOSアプリ開発] プロジェクト新規作成をしたらはじめにやってること(3) Git管理の手始めに

2021/02/05に公開

プロジェクト新規作成をしたらはじめにやってること

こんにちは。
iOSアプリ開発のちょっとしたTipsなどを書いていければと思います。

今回も、iOSアプリ(主にiPhone用)の開発を新しく始めたときに、いつもやってるなぁと思うことを短くまとめようと思います。

開発を進めるためにGitでバージョン管理をしていくことが多いと思います。
その手始めにいつもまずは.gitignoreをiOSアプリ開発用に用意しておくところから始めています。

.gitignoreを拾う

.gitignoreとは、Gitにおける「無視ファイル」(ここに記載されてるものはバージョン管理しませんよを列挙するもの)ですが、iOSアプリ開発用のものはネットの世界にはいくつか先人の人の知恵が落ちています。

そのうち自分がよく見るものは

https://github.com/github/gitignore

https://www.toptal.com/developers/gitignore

の2つですかね。自分は前者の方をよく参照している気がします。

.gitignoreを反映させる

ルートディレクトリ((プロジェクト名).xcodeprojのあるディレクトリ)に.gitignoreファイルを置いてやると、ビルドされた成果物などバージョン管理に必要なさそうなものが無視されることになるはずですが、うまく反映されないこともあります。

Gitのキャッシュが悪さをしているらしいので、それを削除するコミットをしてやると解決するようです。

% cd (プロジェクトのあるルートディレクトリ)
% git rm -r --cached .
% git add .
% git commit -m ".gitignoreを反映させる"

↑ コミットメッセージは適宜書き換えてください

(参考)だいたいいつも使ってる.gitignore

自分のいつも使っている.gitignoreを載せておきます。
環境や人によって入れる入れないが違うと思うので参考程度にしてください。

.DS_Store

xcuserdata/

*.xcscmblueprint
*.xccheckout

build/
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3

*.hmap

*.ipa
*.dSYM.zip
*.dSYM

timeline.xctimeline
playground.xcworkspace

.build/

Pods/

Carthage/Build/

Dependencies/
.accio/

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output

iOSInjectionProject/

下記の Pods/をコメントアウトしたのと、.DS_Storeを加えたくらいの修正です。

https://github.com/github/gitignore/blob/master/Swift.gitignore

まとめ

さくっと.gitignoreを導入するには

cd (プロジェクトのあるルートディレクトリ)
touch .gitignore
open .gitignore

ここで開かれた.gitignoreに上記の参考の内容をコピペして保存して閉じる
openでなくても編集できれば何でもいいと思います。

git rm -r --cached .
git add .
git commit -m ".gitignoreを反映させる"

こんな感じですかね。

ではまた。

Discussion