こちらの記事を参考に.gitignoreファイルの中身を調べることにした。
# Xcode
## Mac OS X
.DS_Store
## Xcode build files
build/
DerivedData/
## Xcode settings
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
!default.pbxuser
!default.mode1v3
!default.mode2v3
!default.perspectivev3*.xcodeproj/*
## App packaging
*.ipa
*.dSYM.zip
*.dSYM
## Xcode Patch
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcworkspace/contents.xcworkspacedata
## library
Pods/*
Carthage/Build/
## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint
*.xcuserstate
*.swp
xcuserdata/
*.moved-aside
!.gitkeep
暗号。。。。
全然わからない。
一つひとつ噛み砕いて見ていく必要がある。
記号がわからない。。。
まず前提として、
#
、*
、 /
、!
はどのような特性があるかをしらべる必要がある。
・#
は、コメントアウトである。
例
# Xcode
## Mac OS X
・/
は、ファイルの階層を考慮して、無視するかを決める
例
xcuserdata/
xcuserdata
フォルダを無視
xcuserdata
xcuserdata
フォルダと、同じ名前のファイルを無視する
・*
は、無視するという意味
*.pbxuser
.pbxuser
という拡張子ファイルを全て無視する。
・!
は 、無視しないという意味。
例
!*.xcodeproj/project.pbxproj
.xcodeproj
のディレクトリ内の全てのファイル・ディレクトリを除外するも、project.pbxproj
ファイルを無視しない
(少し余談)
エクスクラメーションマーク !
は、否定の意味で使用するイメージがあり、最初見たときに違和感を感じた。
だが、このファイルの名前は、.gitignore
であり、Gitを無視する拡張子
であるため、!
を使用すると、否定の否定になり、無視しない という意味になる。と筆者は解釈しました。
ファイル名に関して
ファイル名に関して深堀りすると切りがないため、ChatGPTに、ファイル名を入力して、概要だけ理解することにした。
出力結果は以下の通りである。
.DS_Store
:これはMac OS Xオペレーティングシステムによって作成された、フォルダーのカスタム属性を保存するファイルです。アイコンの位置や背景画像などが含まれます。
build/
とDerivedData/
:これらは、Xcodeによって中間ビルドファイルと一時的なデータを保存するために作成されたディレクトリです。
*.pbxuser
、*.mode1v3
、*.mode2v3
、*.perspectivev3
:これらはXcode設定ファイルで、個人の設定やウィンドウレイアウトを保存します。
*.ipa
、*.dSYM.zip
、*.dSYM
:これらは、アプリのパッケージングやデバッグに使用されるファイルです。
*.xcodeproj/*
:このパターンは、Xcodeプロジェクトディレクトリ内のすべてのファイルとディレクトリを除外しますが、project.pbxproj
とxcshareddata/
は除外されません。 project.pbxproj
は、プロジェクトの構造、ビルド設定、ターゲットの依存関係に関する情報を含むメインプロジェクトファイルです。 xcshareddata/
は、複数のXcodeプロジェクト間で共有されるデータを含むディレクトリです。
Pods/*
とCarthage/Build/
:これらは、Xcodeプロジェクトで外部の依存関係を管理するために使用されるディレクトリです。
*.moved-aside
、*.xccheckout
、*.xcscmblueprint
、*.xcuserstate
、*.swp
、xcuserdata/
:これらは、Xcodeまたはその他のツールによって作成された一時ファイルやディレクトリです。
!.gitkeep
:これは前の除外規則を否定する特別なパターンで、空の.gitkeepファイルを各空のディレクトリに含めます。Gitはディレクトリ自体を追跡しないため、空のディレクトリがGitで追跡されるようにするために役立ちます。
以上です。
他にも良い方法があれば、コメントいただけると大変うれしいです。
良かったと思ったら、いいねやTwitterのフォローよろしくお願いいたします!
https://sites.google.com/view/muranakar
個人でアプリを作成しているので、良かったら覗いてみてください!