Godot4 Gitサブモジュール対応 アドオンを別リポジトリで管理する2/5

GodotEngine4 用の自作アドオン開発するために、利用者が res://adddons フォルダなどに配置するアドオン部分 (ScUtil) と、それを開発するプロジェクト部分 (ScUtilDev) の2つGit リポジトリを作成し、それらを Git サブモジュール連携してバージョン管理する構成を作成します。
※基本的に Git 操作は、シェル拡張でエクスプローラ上で操作できる Git クライアントソフト TortoiseGit を用い、一部はコマンドプロンプトで直接 Git コマンドを使用します。
※ Git-2.49.0 (64 bit) を使用します。
※ TortoiseGit-2.17.0.2-64bit を使用します。

Godot4 Gitサブモジュール対応 アドオンを別リポジトリで管理するコンポーネント図 (plantUML)
Godot4 Gitサブモジュール対応 アドオンを別リポジトリで管理するフォルダ構成1

パート2では、自作アドオン用のリモートリポジトリ(例:sc-util)を PC 内に作成して、前回作成したアドオン用のローカルリポジトリ(例:ScUtil)のコミット内容をプッシュします。

今回作成する sc-util リモートリポジトリは、アドオン利用者のプロジェクトで利用したり、アドオン自体を開発するプロジェクトでテストから呼び出せるように、各プロジェクトのサブフォルダにサブモジュールとして配置されるもとになります。

前回の記事

自作アドオン用のリモートリポジトリを PC 内に作成

フォルダ(例:sc-util.git)を新規作成して、そこに自作アドオン用のリモートリポジトリを作成します。
※リモートリポジトリ(Bare リポジトリ)を作成する場合は、ローカルリポジトリ(ノンベアリポジトリ)と区別しやすいように名前の最後に .git をつける慣例があるようです。

TortoiseGit の場合は、リモートリポジトリを作成する空のフォルダエクスプローラで開いて、右クリックで表示されるメニュー「Git ここにリポジトリを作成」を選択します。

Godot4 自作アドオンのリモートリポジトリの作成とプッシュ1

前回、ファイルを直接編集できる作業ディレクトリを持つローカルリポジトリ(ノンベアリポジトリ)を作成した場合はチェックしなかった「Bare を生成」チェックボックスチェックをして OK ボタンを押します。

Godot4 自作アドオンのリモートリポジトリの作成とプッシュ2

ローカルリポジトリの .git フォルダ内に似た構成のリモートリポジトリ用のフォルダ・ファイルが作成されました。
OK ボタンでダイアログを閉じます。

Godot4 自作アドオンのリモートリポジトリの作成とプッシュ3

Bare リポジトリとノンベアリポジトリ(記事内では通常はリポジトリ、ローカルリポジトリと記載)については、以下の記事を参照してください。

ローカルリポジトリのコミットをリモートリポジトリにプッシュ

作成したリモートリポジトリへ、ローカルリポジトリで追加したファイルのコミットオブジェクトをプッシュします。

Updates remote refs using local refs, while sending objects necessary to complete the given refs.

ローカル参照を使用してリモート参照を更新し、指定された参照を完了するために必要なオブジェクトを送信します。

Git – git-push Documentation と Google 翻訳

TortoiseGit の場合は、ローカルリポジトリのフォルダをエクスプローラで開いて、右クリックで表示されるメニュー「TortoiseGit」→「プッシュ」を選択します。
※コマンドプロンプトで git push コマンドを用いてプッシュすることもできます。

Godot4 自作アドオンのリモートリポジトリの作成とプッシュ4

ローカルリポジトリの作成とファイルのコミットについては、パート1の記事を参照してください。

「プッシュ」ダイアログでは、プッシュ先のリモートリポジトリブランチ選択します。

最初はリモートリポジトリが設定に追加されていないので、「宛先」枠「管理」ボタンを押して表示される「設定」ダイアログの「Git -> リモート」ページで、プッシュ先のリモートリポジトリを設定に追加します。

「設定」ダイアログの「Git -> リモート」ページで、「URL」テキストボックスに、リモートリポジトリのフォルダのパスを入力します。
※ GitHub.com などのサーバにある場合は、そのリポジトリの https などから始まる URL を指定します。

「リモート」テキストボックスに、そのプッシュ先の名前(例:origin)を入力して「新規追加 / 保存」ボタンを押すと、左側の「リモート」リストにその名前が追加されます。

「設定」ダイアログを OK ボタンで閉じて、「プッシュ」ダイアログの設定に戻ります。

Godot4 自作アドオンのリモートリポジトリの作成とプッシュ5

「Ref」 枠では、プッシュする元のローカルリポジトリ内のブランチ名(例:develop)と、プッシュする先のリモートリポジトリ内のブランチ名(例:develop)を指定します。
※リモートリポジトリにそのブランチ名がない場合は作成されます。

「宛先」枠では、「リモート」ラジオボタンを選択して、リストから先ほど設定に追加したプッシュ先のリモートの名前(例:origin)選択します。

オプションでデフォルトでチェックが入っていた「Putty 鍵の自動ロード」と「上流/追跡対象のリモートブランチに設定」は今回は使用しないのでチェックを外しました。

「プッシュ」ダイアログの設定が済んだら OK ボタンを押します。

Godot4 自作アドオンのリモートリポジトリの作成とプッシュ6

リモートリポジトリへのプッシュ完了しました。

Godot4 自作アドオンのリモートリポジトリの作成とプッシュ7
git.exe push --progress  -- "origin" develop:develop
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 12 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 20.05 KiB | 30.00 KiB/s, done.
Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To G:/Dev/Godot4GD/SakuraCrowd/ScLibProject/remote/sc-util.git
* [new branch]      develop -> develop

成功 (1266 ms @ 2025/09/07 13:20:19)

プッシュしたコミットと作成されたブランチの確認

ローカルリポジトリからリモートリポジトリにプッシュした、コミットオブジェクトや、プッシュによって作成されたブランチを確認します。

TortoiseGit の場合は、リモートリポジトリのフォルダをエクスプローラで開いて、右クリックで表示されるメニュー「TortoiseGit」→「ref ブラウザ」を選択します。

Godot4 自作アドオンのリモートリポジトリの作成とプッシュ8

最後のコミット」のメッセージが、パート1でローカルリポジトリにコミットした際のメッセージであることが確認できました。
また、リモートリポジトリへの初回プッシュで作成されたブランチ名指定した名前(例:develop)であることも確認できました。

Godot4 自作アドオンのリモートリポジトリの作成とプッシュ9

まとめ

  • TortoiseGit を用いて、PC 内にリモートリポジトリ(Bare リポジトリ)を作成しました。
  • TortoiseGit を用いて、ローカルリポジトリの指定したブランチのコミットオブジェクトを、リモートリポジトリプッシュして同時にブランチ作成しました。
  • TortoiseGitref ブラウザを用いて、リモートリポジトリのブランチと最後のコミットのメッセージからプッシュが成功したことを確認しました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました