無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、VCS (Version Control System) の公式プラグイン Git plugin v3 で、外部のアセットなど、プロジェクトフォルダ内の .gitignore で Git 管理をしないフォルダを指定して、コミットドックの「未ステージの変更」リストに表示されないようにします。
参照:「Git plugin v3 · godotengine/godot-git-plugin Wiki #usage」

※ GodotEngine 4.3 を使用しています。.NET 版ではありません。
※ Git plugin v3.1.1 を使用します。
※ Git-2.49.0 (64 bit) を使用します。
※ GitHub Desktop Version 3.4.18 (x64) を使用します。
前回の記事
前回は、 Git plugin v3 を用いて、 Git 管理にファイルを追加して、変更のコミットと差分の確認を行いました。
追加:エディタ再起動しなくても更新できるかも
後述する .gitignore の変更の処理の後、エディタ再起動と書かれている箇所がありますが、コミットドックの右上の「新しい変更点を検出」ボタンを押すことで、更新が行われ、エディタを再起動する必要はないかもしれません。
※コミットドックが表示されていない場合は、メニュー「エディター」→「エディタドック」→「コミット」を選択してください。

.gitignore で Git 管理対象外のフォルダを指定
以下は、プロジェクトフォルダ直下の .gitignore ファイルの中身です。
# Godot 4+ specific ignores
.godot/
/android/
.godot フォルダが指定されています。
そのおかげで、コミットドックの「未ステージの変更」リストには、 .godot フォルダ内のファイルは表示されていません。


その .gitignore ファイルをテキストエディタで開いて、Git 管理に追加しないフォルダのパスを追加します。
例として、外部のアドオンが配置されている addons/ フォルダを追加します。
# Godot 4+ specific ignores
.godot/
/android/
addons/
その後、エディタを再起動して、コミットドックの「未ステージの変更」リストを見ると、さきほど表示されていた addons/ フォルダのファイル群が表示されなくなりました。
これは、.gitignore ファイルで Git の管理対象にしないフォルダとして指定したためです。

無視するフォルダの一部のサブフォルダだけを除外
addons/ フォルダを無視すると、その下位の addons/my/ フォルダの自作プラグインのフォルダ・ファイルも表示されなくなりました。
上位の addons/ の多くのファイルは外部アセットなので無視しますが、my/ フォルダの自作のファイルは Git 管理したいため、一部のサブフォルダを ! から始まるパスで無視から除外します。
# Godot 4+ specific ignores
.godot/
/android/
addons/*
!addons/my/
このとき、先ほどのように addons/ を先に指定すると、addons/ フォルダ自体を無視するため、そのあとに !addons/my/ で addons/ フォルダの下位の要素を指定しても my サブフォルダだけ無視から除外できません。
そのため、 addons/ ではなく addons/* とワイルドカードを追加して、 addons/ フォルダ自体ではなく addons/ フォルダの全てのファイル・フォルダを無視するように設定してから、 !addons/my/ で addons/my/ フォルダ(とその下のファイル・フォルダ群)を無視から除外します。

.gitignore の記述については、詳しくは以下の引用元サイト「[Git] .gitignoreの仕様詳解 #Git – Qiita」を参照してください。
何故なら、Gitはパフォーマンス上の理由から、ディレクトリを無視した場合、そのディレクトリ中の一部のファイルやディレクトリだけを無視しないようにすることはできないという制限を設けているからだ。
「tmpディレクトリ」を無視してからその中の特定のファイルだけ除外しているのではなく、「tmpディレクトリ中の全てのファイルやディレクトリ」を無視してから特定のファイルだけ除外していることに注目してほしい。
[Git] .gitignoreの仕様詳解 #Git – Qiita
これならば制限に引っかからずにやりたいことを実現できる。
エディタを再び再起動してコミットドックの「未ステージの変更」リストを見ると、 addons/my/ フォルダ内のファイルが表示されました。
それ以外に addons/ フォルダのファイル・フォルダは、先ほど設定したように表示されていません。

以上のようにプロジェクトフォルダ直下の .gitignore ファイルにパスを指定することで、 Git 管理しないファイルをフォルダ単位で指定して、必要なファイルだけをコミットドックのリストに表示できました。
まとめ
今回は、無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、VCS (Version Control System) の公式プラグイン Git plugin v3 で、外部のアセットなど、プロジェクトフォルダ内の .gitignore で Git 管理をしないフォルダを指定して、コミットドックの「未ステージの変更」リストに表示されないようにしました。
参照サイト Thank You!
- Godot Engine – Free and open source 2D and 3D game engine
- バージョン管理システム — Godot Engine (4.x)の日本語のドキュメント
- Git
- Home · godotengine/godot-git-plugin Wiki
- Git plugin v3 · godotengine/godot-git-plugin Wiki
- Git plugin v3 · godotengine/godot-git-plugin Wiki #usage
- 誰得UNIX: ステージを理解して git をもっと便利に使う
- [Git] .gitignoreの仕様詳解 #Git – Qiita
記事一覧 → Compota-Soft-Press
コメント