全2話で、Git のクライアントソフト TortoiseGit を用いて、サブモジュールのリモート URL を GitHub のオリジナルのリモートリポジトリからフォークした自身のリモートリポジトリへ変更したことのコミットと、サブモジュールの変更のコミットとそのコミットをフォークした自身のリモートリポジトリへ Push する手順とその結果を紹介します。

※ TortoiseGit-2.17.0.2-64bit を使用します。
※ 2025 年 8 月 2 日現在の情報です。
前回の記事
前回は、Git 管理している作業ディレクトリにサブモジュールとして配置した外部のリポジトリ (bitwes/Gut ) に対して変更を行うために、GitHub でフォークした別のリポジトリにリモート URL を 変更してリポジトリ内でその変更を同期しました。
サブモジュールのリモート URL の変更をコミット
前回、Git サブモジュールのリモート URL を .gitmodules ファイルを編集して変更しました。
その変更をコミットします。
エクスプローラで作業ディレクトリを開いて右クリックして表示されるメニュー「Git コミット -> “ブランチ名”」(例ではブランチ名は develop)を選択します。

コミットメッセージを入力して、リストの .gitmodules だけをチェックして「コミット」ボタンを押します。

以上で、 .gitmodules ファイルの Gut サブモジュールのリモート URL の、オリジナルのリポジトリから、フォークしたリポジトリへの変更をコミットできました。

サブモジュール内部の変更をサブモジュールのリポジトリにコミット
次に、Gut サブモジュール内の変更を、ローカルの .git/modules 内にある Gut サブモジュール用のリポジトリにコミットします。
Gut サブモジュールを配置したフォルダ(例では third_party/Gut )をエクスプローラで開いて、右クリックして表示されるメニュー「Git サブモジュールをコミット(C) -> “ブランチ名”」(例ではブランチ名は main)を選択します。

コミットメッセージを入力して「コミット」ボタンを押します。

サブモジュールの変更のコミットが完了しました。
このコミットは、先ほどの .gitmodules の変更をコミットしたリポジトリではなくリポジトリ内のサブモジュール用のリポジトリ(例では .git/modules/third_party/Gut)の main ブランチにコミットされます。

サブモジュールの最新コミット位置をリポジトリにコミット
Gut サブモジュールの変更をサブモジュールのリポジトリにコミットしたことで、サブモジュールのコミット位置 (SHA) が変更されました。
この変更をリポジトリにコミットします。
※サブモジュール用のリポジトリではありません。
エクスプローラで作業ディレクトリを開いて右クリックして表示されるメニュー「Git コミット -> “ブランチ名”」(例ではブランチ名は develop)を選択します。

サブモジュールの配置先(例では third_party/Gut ) には、そのサブモジュールのコミット位置 (SHA) が記録されています。
それをチェックした状態で、コミットメッセージを入力して「コミット」ボタンを押します。

以上で、サブモジュールの変更コミットによって変わったサブモジュールのコミット位置 (SHA) の変更をリポジトリにコミットできました。

今回はここまで
次回に続きます。
参照サイト Thank You!
- Git
- TortoiseGit – Windows Shell Interface to Git
- GitHub
- bitwes/Gut: Godot Unit Test. Unit testing tool for Godot Game Engine.
- sakura-crowd/Gut: Git サブモジュールとして Godot4 プロジェクトに配置して利用するために、Godot4 エディタによる警告の解消と自動変換による差分をコミットしたリポジトリです。フォーク元:https://github.com/bitwes/Gut
記事一覧 → Compota-Soft-Press
コメント