サブモジュールがない既存のリポジトリにサブモジュールを追加するには?
サブモジュールの解説記事を読んでいると、サブモジュールは既存の他のリポジトリをサブとして取り込むみたいなのが多い?
新しいリポジトリを作る
今回のサブモジュールは新しく作るので、まずgithubでリポジトリ作ってクローンして、initialコミットしてブランチがある状態にする。
そうしないとSourceTreeで「サブモジュールを追加」するとき、ブランチがありませんってエラーが出る。
SourceTreeで追加
サブモジュールのリポジトリが準備できたらSourceTreeで右クリックもしくは上のリポジトリというメニューから「サブモジュールを追加」
リポジトリのurlと、そのリポジトリのフォルダが親リポジトリの中のどこに配置されるかをローカル相対パスで選ぶ。
デフォルトだと一番上の階層にできるけど、今回はUnityプロジェクトで、Assetsの下にできてほしいのでAssetsの下にフォルダを作ってそのフォルダを指定した。
プッシュ
うまくいくと、ファイル差分に.gitmodulesとフォルダが出てくるのでそれをプッシュしたら完成!
無事SourceTreeの左下にもサブモジュールが表示される
最後に
サブモジュールを使う場面って色々あるのだろうか?