UE5 で Source Control Git を使う

環境: Windows 10 Pro

Git を入れておく

どう入れるかは自由ですが、さくっと scoop で入れます。

scoop のインストール

Scoop

PS > Set-ExecutionPolicy RemoteSigned -scope CurrentUser
PS > Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

Git

PS > scoop install git

ログにも出ていますが、これで %userprofile%\scoop\apps\git\current\bin\git.exe に Git が入っています。

UE5 で設定

Edito の右下に以下のような表示が出ているのでクリック。「Connect to Source Control」が出てくるのでさらにクリック。 f:id:dany1468:20210718090124p:plain

以下のようなフォームが出てきます。リポジトリの初期化のための情報や .gitignore, .gitattribute, README.md の追加を聞かれています。 f:id:dany1468:20210718090749p:plain

どうなっているか

PS> git show
commit 4f05bf38dab4d06e366a1cef98da2ed73dd72eff (HEAD -> master)
Author: xxxx
Date:   Sun Jul 18 09:09:14 2021 +0900

    Initial commit

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..3e8f1d6

initial commit をさせたので、プロジェクトがその時点でコミットに加えられています。

gitignore

Binaries
DerivedDataCache
Intermediate
Saved
.vscode
.vs
*.VC.db
*.opensdf
*.opendb
*.sdf
*.sln
*.suo
*.xcodeproj
*.xcworkspace

上記が ignore に加えられていますね。

新しいレベルを追加してみる

新規レベルだと、特に何か表記はでませんね。 f:id:dany1468:20210718091730p:plain

コンテクストメニューに、Source Control がでてきます。Checkin をすると f:id:dany1468:20210718092206p:plain コミットメッセージを入力できるようになります。どうやら Git の stage はすっ飛ばす感じ。 f:id:dany1468:20210718092217p:plain 一度コミットすると、今度はコンテクストメニューに History が入ってきます。 f:id:dany1468:20210718092227p:plain 履歴を見れます。 f:id:dany1468:20210718092532p:plain

レベルにCubeでも追加してみる

何かを示すアイコンが付きました。 f:id:dany1468:20210718092618p:plain

以下のページからの引用ですが、どうやらチェックアウトしたアイコンになるようです。なるほど、この辺は Git っぽくなっている訳ではなさそう。 Source Control | Unreal Engine Documentation f:id:dany1468:20210718092755p:plain

ただ、一度コミットしたファイルは変更して保存するたびに Source Control もなにかしているようなので、割とリモートリポジトリに都度競合状態等を問い合わせたりするのかもしれない。 **差分を見る 一度コミットすると、Diff Against Depot というメニューも出てくる。 f:id:dany1468:20210718094814p:plain これを実行するとかなりいい感じに差分を出してくれる。どれぐらいの粒度(例えばノードの変更とかも)で出してくれるのかはまだよく見ていない。 f:id:dany1468:20210718094735p:plain

以下の記事を拝見すると、いろいろと差分を見ることはできそう。 [UE4]Level BlueprintをDiffする(差分を見る)方法について - Qiita