ライブラリなど他のプロジェクトから参照されるプロジェクトは、
- 複数のワークスペースで使われることがある
- ワークスペースごとにリビジョンが異なる場合がある
ことなどを考慮すると、gitのsubmoduleとして管理するのがよさそう。
これを前提に、ディレクトリ構成とgitの運用指針を以下のように考えてみる。
- アプリケーションのプロジェクトとライブラリのプロジェクトは個別のgitリポジトリとして管理
- アプリケーションのプロジェクトフォルダ内にワークスペースを管理するファイル(*.xcworkspace)を配置
*.xcworkspace
もgitの管理対象とする
- アプリケーションのプロジェクトフォルダ内にライブラリのプロジェクトフォルダを配置
git submodule add
を使う
- アプリケーションのプロジェクトではライブラリのプロジェクトフォルダをgitのsubmoduleとして管理
- どのリビジョンのライブラリを使うのかを管理する
Gitのsubmoduleはこれまで使ったことがないので、この方針で運用してしばらく様子をみてみる。