🐙

VRChatのアバターをgitでバージョン管理する

2024/07/04に公開

VRChatterのみなさん、こんにちは~
突然ですが、Unityでアバター改変をしていたら取り返しがつかなくなったこと、ありませんか?
そんなとき、gitでバージョン管理をしていれば時間を巻き戻すことができます。
みなさんもgitを使いましょう

Gitって何?

Gitはバージョン管理システムの一つです。
バージョン管理システムはその名の通り、バージョンを管理するシステムのことです。

バージョン管理はゲームのセーブに近い概念です。
ゲームによってはセーブデータの数に限度がありますが、gitにはその概念はありません。
gitではHDDやSSDの記憶領域が許す限りセーブデータをいくらでも作ることができます。

上記のように、一つ作業を行うごとにセーブポイントを作ることで、ミスが起こったときにその直前のセーブデータを読み込んで復活することができます。

また、gitのシステムはUnityは独立しているため、Unityを終了したあとも歴史が残り続けます。

Gitの用語

gitを扱う前に用語について触れておきましょう。

リポジトリ

バージョン管理を行うフォルダをリポジトリといいます。
例えば、あなたがUnityプロジェクトをgitで管理しているなら、Unityプロジェクトが一つのリポジトリです。

コミット

gitではセーブポイントのことをコミットといいます。

この例ではコミットが4つあります。
コミットはゲームのセーブデータと違って少し変わった性質があります。
それは「コミットは一つ前のコミットを参照している」ということです。
コミットが一つ過去のコミットを指し示すことでまるで世界線のように歴史が連なります。

コミットID

セーブデータには番号が振られます。
例えば、先程のコミットは以下のようなIDが振られています。

コミットメッセージ

コミットIDは機械がコミットを識別するためのものです。
コミットメッセージは人間がコミットを識別するためのもので、
コミットするときにどういう変更を行ったか記述するためのメッセージです。

例えば上記の例では、「feat: カリンちゃんを追加する」や「feat: 服装をパーカーに変更する」がコミットメッセージです。

ブランチ

gitでは世界線から分岐することができます。

上記の例ではmainブランチから分岐してgreenブランチを作成しています。
ブランチは特定のコミットを指し示す矢印です。
mainブランチは「feat: 髪色を青色に変更する」というコミットを指し示し、
greenブランチは「feat: 髪色を緑色に変更する」というコミットを指し示しています。

今回はブランチについては触れないので、こういうのもあるんだな~程度で留めておいてください。

Gitのインストール

Windowsキーを押して「PowerShell」を起動してください。
青い画面が表示されたら、次の呪文を入力してエンターしてください。

Get-Command git

赤い字で以下のエラーメッセージが表示されたら、gitがインストールされていません。

Get-Command : 用語 'test' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識され ません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確
認してから、再試行してください。
発生場所 行:1 文字:1
+ Get-Command test
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (test:String) [Get-Command], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.GetCommandCommand

以下の呪文を入力してエンターすることで、gitをインストールすることができます。

winget install --id Git.Git -e --source winget

インストール後にPowerShellを再起動してもう一度Get-Command gitを入力して確認してください。

リポジトリを作成する

ファイルエクスプローラーでUnityプロジェクトを開いてください。
Shiftキーを押しながら右クリックして、「PowerShellウインドウをここで開く」を押します。

PowerShellウインドウで以下の手順でリポジトリを作成します。

git init

上記のコマンドでgitを初期化します。

これでリポジトリを作成できました。

コミットを作成する

コミットを作成するには以下の手順を行います。

git add .

まず、git add [ファイル名]でgitでバージョン管理するファイルを選択します。
今回はすべてのファイルを管理するのでgit add .と入力します。

git commit -m "feat: アバターを追加する"

最後にgit commit -m "コミットメッセージ"でコミットメッセージを書きながらコミットします。

GitHubを活用する

ローカルでバージョン管理するだけならこれだけでもいいですが、クラウドのようにインターネット上にリポジトリをアップロードしたほうがいいです。
そうすれば、PCがお釈迦になっても家が火事になってもあなたの大事なアバターデータは残ります。

Discussion