エクスプローラで操作できる Git の無料クライアントソフト TortoiseGit で、Git リポジトリで管理している Godot Engine のプロジェクトフォルダに、外部のリポジトリをサブモジュールとして配置する手順を紹介します。
GitHub からサブモジュールを配置する際のリポジトリの URL の取得手順についても紹介します。
これにより、外部アドオン群を、使用しているリビジョンで一括でインストールしたり、Git からもサブモジュールとして明確に管理対象とは区別されます。

※ TortoiseGit-2.17.0.2-64bit を使用します。
※ 2025 年 7 月 27 日現在の情報です。
サブモジュール群を配置するフォルダの作成
例として、 GodotEngine4 のユニットテスト用のアドオン GUT のリポジトリを、自身のプロジェクトフォルダに、サブモジュールによって Git バージョン管理を分けて配置します。
サブモジュールを使うと、ある Git リポジトリを別の Git リポジトリのサブディレクトリとして扱うことができるようになります。 これで、別のリポジトリをプロジェクト内にクローンしても自分のコミットは別管理とすることができるようになります。
Git – サブモジュール
GUT をサブモジュールで扱う際の手順は、GUT 公式サイトで案内されています。
GUT’s file structure is not organized to be used as a Git submodule. If you would like to have GUT as a submodule of your project you could:
Add GUT as a submodule at /gut
Symlink /gut/addons/gut to addons/gut
This will clone the entire GUT repository, including all of its documentation and tests (which are unnecessary). It may be better to clone GUT outside your project and symlink to it from there instead (contributors must all have a copy of GUT at the same location for the symlink to work).
GUT のファイル構造は、Git サブモジュールとして使用できるように構成されていません。 GUT をプロジェクトのサブモジュールとして使用したい場合は、次のようにします。
GUT をサブモジュールとして /gut に追加します。
シンボリックリンク /gut/addons/gut から addons/gut
これにより、すべてのドキュメントとテスト (不要なもの) を含む GUT リポジトリ全体のクローンが作成されます。代わりに、プロジェクトの外に GUT のクローンを作成し、そこからそこにシンボリックリンクする方が良いかもしれません (シンボリックリンクが機能するには、コントリビューター全員が同じ場所に GUT のコピーを持っている必要があります)。
Install — GUT 9.4.0 documentation と Google 翻訳
サブモジュールを配置するフォルダ(例では third_party\)を GodotEngine4 のプロジェクトフォルダの直下に作成します。
このとき、 addons フォルダなど GodotEngine4 エディタでアクセスするフォルダは避けた方が、サブモジュールに含まれるアドオンには不要なファイルによる問題が起きなくなります。
例では、独自のフォルダを作成して、この後に .gdignore ファイルを配置して、エディタがそれ以下のファイル・フォルダを参照しないようにしています。

作成した空のフォルダ(例では third_party\)をエクスプローラで選択してから右クリックで表示されるメニュー「TortoiseGit」→「サブモジュールの追加」を選択します。

「サブモジュールの追加」ダイアログが表示されました。

「リポジトリ」の項目に、サブモジュールのリポジトリの URL を設定します。
例では、 GitHub の GodotEngine4 ユニットテスト用のリポジトリ bitwes/Gut の URL を指定しました。
URL は Code ボタンを表示するとコピーできます。

「パス」の項目には、サブモジュールを配置するフォルダパスを、プロジェクトフォルダ直下からのパスで記述します。
例では、先ほど作成した third_party\ の下の Gut フォルダに配置します。
「Putty 鍵のロード」は、「リポジトリ」の URL が https の場合は不要なのでチェックを外しました。
設定が済んだら OK ボタンを押します。
追加したサブモジュールの確認
サブモジュールの追加コマンドが実行されました。
git.exe submodule add -- "リポジトリの URL" "配置先フォルダのパス"
「閉じる」ボタンで閉じます。

指定した配置先フォルダ(例では third_party\Gut\)をエクスプローラで開くと、Gut リポジトリのファイルが格納されています。

また、プロジェクトの .git\modules\ 内には third_party\Gut フォルダが作られ、サブモジュールの差分を管理するためのリポジトリが保存されました。

まとめ
エクスプローラで操作できる Git の無料クライアントソフト TortoiseGit で、Git リポジトリで管理している Godot Engine のプロジェクトフォルダに、外部のリポジトリをサブモジュールとして配置する手順を紹介しました。
GitHub からサブモジュールを配置する際のリポジトリの URL の取得手順についても紹介しました。
参照サイト Thank You!
- Git
- Git – git-status Documentation
- Git – git-submodule Documentation
- Git – サブモジュール
- 巨大な Git submodule のバージョンを一瞬で更新する方法 #Git – Qiita
- TortoiseGit – Windows Shell Interface to Git
- Godot Engine – 無料でオープンソースの2D・3Dゲームエンジン
- GUT – Godot Unit Testing (Godot 4) – Godot Asset Library
- Install — GUT 9.4.0 documentation
- GitHub Japan | GitHub
- bitwes/Gut: Godot Unit Test. Unit testing tool for Godot Game Engine.
記事一覧 → Compota-Soft-Press
コメント