GitHub リポジトリにサブモジュールを設定する手順
こんにちは、@studio_meowtoon です。今回は GitHub リポジトリにサブモジュールを設定する紹介します。
実現すること
GitHub リポジトリに Git サブモジュールを設定します。
Git サブモジュールについて
サブモジュールとは?
Git サブモジュール (Git submodules) は、Git バージョン管理システムのリポジトリ内で他の Git リポジトリをサブリポジトリとして組み込む仕組みです。サブモジュールは、親リポジトリ内に外部プロジェクトや依存関係を含めるために使用されます。
サブモジュールはどのように役立ちますか?
キーワード | 内容 |
---|---|
コードの再利用 | サブモジュールを使用することで、別のリポジトリのコードやリソースを再利用できます。例えば、ライブラリやツールキットなどの外部プロジェクトを組み込むことができます。 |
バージョン管理 | サブモジュールは特定のバージョンの外部リポジトリを指すため、プロジェクト内で使用される外部コードのバージョンを一貫して管理できます。 |
分散開発 | 複数のチームや開発者が協力してプロジェクトを進める場合、サブモジュールを使用することで、異なる部分を異なるリポジトリで開発でき、それらを単一の親リポジトリで統合できます。 |
今回想定するケースは?
複数のアプリと一つのフレームワークを同時に開発します。
リポジトリにサブモジュールを設定
GitHub リポジトリにサブモジュールを設定
コマンドの書式
> git submodule add -b <ブランチ名> <GitHub リポジトリのURL> <サブモジュールの相対パス>
今回は、以下の内容で GitHub リポジトリをサブモジュールとして親リポジトリに設定します。
項目 | 内容 |
---|---|
ブランチ名 | master |
リポジトリURL | https://github.com/awesomeuser/germio.git |
サブモジュールの相対パス | Assets/Plugins/Germio |
> git submodule add -b master https://github.com/awesomeuser/germio.git Assets/Plugins/Germio
親リポジトリに以下のような .gitmodules ファイルが追加されます。
[submodule "Assets/Plugins/Germio"]
path = Assets/Plugins/Germio
url = https://github.com/awesomeuser/germio.git
branch = master
例えば、Unity でゲームアプリを作成する場合、Assets/Plugins/ 配下にフレームワークやライブラリを Git サブモジュールとして個別に設定することができます。
Unity 定義済みのアセンブリのコンパイル順序(※エディター以外)
フェーズ | アセンブリ名 | スクリプトファイル |
---|---|---|
1 | Assembly-CSharp-firstpass | Standard Assets、Pro Standard Assets、Plugins という名のフォルダー内のランタイムスクリプト |
3 | Assembly-CSharp | Editor という名のフォルダーに入っていないすべてのスクリプト |
まとめ
GitHub リポジトリに Git サブモジュールを設定することができました。
この記事の実装例は一つのアプローチに過ぎず、必ずしも正しい方法とは限りません。他にも多様な方法がありますので、さまざまな情報を照らし合わせて検討してみてください。
どうでしたか? Window 11 と Git を操作する環境は手軽に構築することができます、ぜひお試しください。今後も Git を操作するトピックなどを紹介していきますので、ぜひお楽しみにしてください。