GitHub リリースページの外部アセットを利用する際のバージョン管理例

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

GitHub リリースページの外部アセットを利用する際のバージョン管理例5

※ 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 branch --remotes で確認できます)、クローンされたリポジトリの現在アクティブなブランチからフォークされた初期ブランチを作成、チェックアウトします。

Git – git-clone Documentation

GitHub Releases から指定したバージョンの zip を解凍・配置

Git の サブモジュールclone を利用できないため GitHub の Releases ページに配置されているファイル群は、 zip 形式などでダウンロードして、解凍してローカルのプロジェクトに配置します。
※例として「godotengine/godot-git-plugin: Git implementation of the VCS interface in Godot」のバージョン 3.1.1 のリリースのページのリンクを使用します。

GitHub リリースページの外部アセットを利用する際のバージョン管理例1

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

GitHub リリースページの外部アセットを利用する際のバージョン管理例3

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

GitHub リリースページの外部アセットを利用する際のバージョン管理例4

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

GitHub リリースページの外部アセットを利用する際のバージョン管理例5

例に用いた godot-git-plugin について

godot-git-plugin は、先述のように dll などの実行形式をリポジトリに含めず Releases のページで zip に同梱して配置しています。

そのほかにも「Godot Git Plugin (4.1+) – Godot Asset Library」から、特定のバージョンを Download ボタンからダウンロードできます。
※ View Files ボタンから先ほどの GitHub へ移動できます。

GitHub リリースページの外部アセットを利用する際のバージョン管理例2

それ以外にも、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!

記事一覧 → 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をコピーしました