バージョン管理をしましょう。
2024年10月現在最新の手順解説です。
Gitのセットアップ
Git本体のインストール
ではGitをインストールしていきましょう
公式サイトからDownloadしてインストールしましょう。
Git (git-scm.com)
Windows11なら64ビット版を選んでおけばOKです


オプションはデフォルトのままで構いません
Git LFS にはチェックを付けましょう(ついてます)
LFSとは

GUIアプリのインストール
画面で操作したいので追加でGit操作を補助してくれるGUIアプリを入れます
TortoiseGit をおススメしています(本業でもこれともう1つVSCodeを使い分けてます)
TortoiseGit – Windows Shell Interface to Git
64bit Windows版をダウンロードします
あと日本語化パック Japaneseの64bit版をダウンロードしましょう

本体をオプション等はそのままインストールして、次に、日本語化パックをインストールします
最後のチェックは付けましょう。忘れたら英語のままになります。
「Configure TortoiseGit to use this language」(TortoiseGitにこの言語を設定)
Windowsのデスクトップかエクスプローラー右クリックから 「TortoiseGit」/「設定」を開きます
さきほどのチェックをつけ忘れた場合はSettingsです

初期設定ウィザードを行います

ここで名前とメールアドレスが必須なので設定しましょう
Gitはみんなで作る前提のツールなので、誰が作業したかの情報を管理します
共有する気がない人でも適当に入力しましょう

名前は日本語もOKです(上図は架空のメールアドレスにしてます)
ただし将来GitHubなどを使うかもしれないときはそのアカウントに使うメールとかにしたほうがよいでしょう
これでGitが使える状態になりました
リポジトリ作成
ではUnreal Engine5を起動しましょう
プロジェクトはなんでも(バージョン管理したいプロジェクトで)OKです
が、一番最初は操作ミス等で大事なデータを消さないように、新規プロジェクトや元のプロジェクトフォルダ一式コピペなどで使い方を理解するのを推奨します。
画面右下の「リビジョンコントロール」/「リビジョンコントロールに接続」を選びます

ここがデフォルトでは「なし」になっているのを、「Git(ベータ版)」に変えましょう
ずっとベータ版ですが特に問題ありません
ユーザー名とメールはTortoiseGitで設定したものが参照されます
URLはリモートリポジトリのアドレスを書く欄ですが、まだないので空欄でいいです
下図赤枠のチェックは全部つけます
※ ただしすでに大きなプロジェクトの場合は「最初のコミット」をチェックを付けずに何回かに分けてコミットしたほうが良い場合があります
(詳しくはGitHubなどのコミットサイズ制限などをググってみてください)

サブバージョン の場合は自分でファイル作るみたいですが、Gitの場合はここで自動的に作ってくれます
上図赤枠の下の「Gitでプロジェクトを初期化」ボタンを押すとバージョン管理が始まります
「設定を承認」して閉じます
ここに緑のチェックマークがつきました

状態確認
Windowsのエクスプローラー上でUEのプロジェクトフォルダ内をみてみましょう

もとと比べると4つ増えています
- .git (隠しフォルダ) 管理情報そのものが詰まった大事なフォルダ
- .gitignore 管理しないものの定義ファイル
- .gitattributes オプション設定
- README.md 共有するチーム向けの説明書(読んでね)
.gitignoreでSaveフォルダなどの管理する必要がないものが管理対象から除外されています。また、.gitattributesでContentフォルダ内のファイルをGit LFSという仕組みで管理する設定にしてくれています。



Git LFSがないとSubversionよりかなり非効率で巨大なフォルダになっていくのでご注意を。
記録(コミット/サブミット)
いつも通りUEでファイルを変更し、保存しましょう。
変更したファイルをコンテンツブラウザでみると、ここに赤いチェックがついていますね

変更したことがバレています(ΦωΦ)
この状態で「リビジョンコントロール」/「コンテンツの送信」を選ぶと
変更した内容(キャラクターBPへの変更やレベルの子供の削除・変更)が検出されています。


アセット欄左のチェックを外すと記録を先送りもできます(マップをいじったのとキャラクターの変更は別件として外してみました)
説明欄にはどんな変更をしたかを記載します

面倒なら適当でいいですが、
1行目が変更一覧に出てくるので大事で
2行目は何も書かないで1行分あけて、
3行目以降に詳しく書くっていう慣習があります
サブミットがGit用語でコミットです
これで記録できました

確認
TortoiseGit の「ログを表示」でこれまでの履歴を見れます(下図は動画で色々操作説明後)

下から上に向かって進化の歴史が見れます
各コミットでどのファイルをどう変更したかの詳細を、コミットメッセージのメモと合わせて確認できます
ブループリント差分確認
テキストファイルの変更前後の差分はTortoiseGitで確認できます。
が、UEのアセットはバイナリファイルで、Gitの仕組みではみれません。
それを突破できるのが、UE独自が持っている差分確認ツールです。
リビジョンコントロールの「履歴」から
ファイル単位の履歴を見たりして、どの変更を見たいか特定し、

右クリックから「前回のリビジョンに対して差分を検出」すると、下記の専用の差分比較ビューが表示されます

さきほどイベントグラフの処理を書き換えたので、色で変化があることを案内してくれています。

つながったことや、つながる相手が変わったこと、ノードが消えたことなどが一目瞭然ですね
これでやっぱりさっきのなしで とか、いらないと思って消したファイルを復活させたりってことができるようになって、安心して開発できるようになります
その他の操作
コミット、ブランチ、マージ、チェリーピック、スタッシュ、フェッチ、プッシュなど、Git関連の一通りの操作は動画で説明しています。
また、Git自体はUE以外のユーザーもはるかに多く、情報はネット上にたくさんあるので本記事では割愛します。

Azure DevOpsでリモートリポジトリを作る件については、最近手順が変わったのか、微妙に日本語でわかりやすい記事が見当たらなかったので、次回の記事でお伝えします。(動画では解説済です)
コメント