Git を用いてウェブ上でバージョン管理を行えるサービス GitHub で、リリースのページでバージョンごとに公開するメリットと、リリースを用いた公開方法をとっているリポジトリをどのようにプロジェクトのバージョン管理に組み込むか考えた一例を紹介します。

※ 2025 年 8 月 10 日現在の情報です。
GitHub の Releases の用途
GitHub では、リポジトリをウェブ上で管理する以外に、バージョンごとのリリースを zip などでダウンロードできます。
例えば、exe や dll などのバイナリファイルは、差分を見るメリットがなく、容量が増えるデメリットもあるので、バージョン管理を行うリポジトリからは除外して、Releases のページでバージョンごとにダウンロードできるようにしておく場合があります。
リリース ノート、共同作成者の @mentions、バイナリ ファイルへのリンクを含む新しいリリースを作成したり、既存のリリースを編集または削除したりすることができます。 Releases API を使って、リリースを作成、変更、削除することもできます。 詳細については、REST API ドキュメントの「リリースの REST API エンドポイント」を参照してください。
リポジトリのリリースを管理する – GitHub Docs
Releases ページは、Git のサブモジュール・サブモジュールを利用できない
Git では、外部のリポジトリのファイルを利用する際に、サブモジュールとしてプロジェクトに外部のリポジトリを配置・管理できます。
サブモジュールを使うと、ある Git リポジトリを別の Git リポジトリのサブディレクトリとして扱うことができるようになります。 これで、別のリポジトリをプロジェクト内にクローンしても自分のコミットは別管理とすることができるようになります。
Git – サブモジュール
しかし、GitHub の Releases ページでバージョンごとのファイル群を公開する場合は、バイナリファイルなどをリポジトリで管理しないで済むメリットはありますが、リポジトリを扱うサブモジュールは利用できません。
また、 zip ファイルなどでリポジトリ外に配置しているため、Git の clone などによる取得もできません。
リポジトリを新たに作成されたディレクトリにクローンし、クローンされたリポジトリの各ブランチにリモートトラッキングブランチを作成し(
Git – git-clone Documentationgit branch --remotes
で確認できます)、クローンされたリポジトリの現在アクティブなブランチからフォークされた初期ブランチを作成、チェックアウトします。
GitHub Releases から指定したバージョンの zip を解凍・配置
Git の サブモジュールや clone を利用できないため GitHub の Releases ページに配置されているファイル群は、 zip 形式などでダウンロードして、解凍してローカルのプロジェクトに配置します。
※例として「godotengine/godot-git-plugin: Git implementation of the VCS interface in Godot」のバージョン 3.1.1 のリリースのページのリンクを使用します。

godot-git-plugin-v3.1.1.zip をダウンロードして解凍します。
※ Windows 10 の場合は、右クリックして表示されるメニュー「すべて展開」から解凍できます。

解凍されたフォルダ内の godot-git-plugin-v3.1.1\addons\godot-git-plugin フォルダを切り取ります。

GodotEngine4 のプロジェクトフォルダの addons\ に移動して、このアセットの配置は完了です。

例に用いた godot-git-plugin について
godot-git-plugin は、先述のように dll などの実行形式をリポジトリに含めず Releases のページで zip に同梱して配置しています。
そのほかにも「Godot Git Plugin (4.1+) – Godot Asset Library」から、特定のバージョンを Download ボタンからダウンロードできます。
※ View Files ボタンから先ほどの GitHub へ移動できます。

それ以外にも、GodotEngine のエディタの AssetLib タブから簡単に導入することもできます。
詳細については以下の記事を参照してください。
特定のバージョンを利用したい場合は、前述した GitHub の Releases ページのバージョンごとの zip ファイルを用いると良いでしょう。
配置したフォルダを Git 管理外に設定
.gitignore ファイルに、配置先のフォルダの相対パスを記述して、Git 管理外にします。
例では 6 行目にフォルダパスを追記しました。
※.gitignore ファイルはコミット後、必要に応じてプッシュしてください。
# GodotEngine4 プロジェクトフォルダの .gitignore の例です。改行コードは CRLF を使用しています。
*.TMP
.godot/
build/
output/
addons/godot-git-plugin/
`gitignore`ファイルは、Gitが無視すべき意図的に追跡されないファイルを指定します。すでにGitによって追跡されているファイルには影響しません。
Git – gitignore Documentation
readme にダウンロード元と配置先フォルダを記述
README.md には、以下のように外部アセットの配置方法のひとつとして、
- アセット名
- GitHub Releases の zip ファイルへのリンク
- それを解凍して配置するプロジェクト内のフォルダパス
を記述します。
※README.md ファイルはコミット後、必要に応じてプッシュしてください。
### godot-git-plugin
1. [Release Godot VCS Git Plugin v3.1.1 · godotengine/godot-git-plugin](https://github.com/godotengine/godot-git-plugin/releases/tag/v3.1.1) の godot-git-plugin-v3.1.1.zip ファイルをダウンロード
1. zip ファイルを解凍して godot-git-plugin-v3.1.1\godot-git-plugin-v3.1.1\addons\godot-git-plugin フォルダを、プロジェクトの addons/ フォルダに移動します。
まとめ
Git を用いてウェブ上でバージョン管理を行えるサービス GitHub で、リリースのページでバージョンごとに公開するメリットと、リリースを用いた公開方法をとっているリポジトリをどのようにプロジェクトのバージョン管理に組み込むか考えた一例を紹介します。
参照サイト Thank You!
- Git
- Git – サブモジュール
- Git – git-clone Documentation
- Git – gitignore Documentation
- GitHub Japan | GitHub
- リポジトリのリリースを管理する – GitHub Docs
- Godot Git Plugin (4.1+) – Godot Asset Library
- godotengine/godot-git-plugin: Git implementation of the VCS interface in Godot
記事一覧 → Compota-Soft-Press
コメント