2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHub リポジトリにサブモジュールを設定する手順

Last updated at Posted at 2023-10-12

GitHub リポジトリにサブモジュールを設定する手順

こんにちは、@studio_meowtoon です。今回は GitHub リポジトリにサブモジュールを設定する紹介します。
github_with_unity.png

実現すること

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 を操作するトピックなどを紹介していきますので、ぜひお楽しみにしてください。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?