この記事ではUnityでGitを使用していて安全にブランチを切り替える方法を
紹介していきます。
安全にブランチを切り替える方法
前準備
.gitignoreを準備する
リモートリポジトリに不要なファイルをプッシュしないために.gitignoreを準備しましょう。
.gitignoreを作成し、下記のように記述します。
.gitignore
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
.utmp/
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
*.log
# By default unity supports Blender asset imports, *.blend1 blender files do not need to be commited to version control.
*.blend1
*.blend1.meta
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
# Recordings can get excessive in size
/[Rr]ecordings/
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*
# Jetbrains Rider personal-layer settings
*.DotSettings.user
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Mono auto generated files
mono_crash.*
# Builds
*.apk
*.aab
*.unitypackage
*.unitypackage.meta
*.app
# Crashlytics generated file
crashlytics-build.properties
# TestRunner generated files
InitTestScene*.unity*
# Addressables default ignores, before user customizations
/ServerData
/[Aa]ssets/StreamingAssets/aa*
/[Aa]ssets/AddressableAssetsData/link.xml*
/[Aa]ssets/Addressables_Temp*
# By default, Addressables content builds will generate addressables_content_state.bin
# files in platform-specific subfolders, for example:
# /Assets/AddressableAssetsData/OSX/addressables_content_state.bin
/[Aa]ssets/AddressableAssetsData/*/*.bin*
# Visual Scripting auto-generated files
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db.meta
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers.meta
# Auto-generated scenes by play mode tests
/[Aa]ssets/[Ii]nit[Tt]est[Ss]cene*.unity*Asset Serializationの設定を確認する
Edit>Project Settingsを開きます。

次にEditor>AssetSerializationの項目を確認します。

- ModeをForce Text
- Reduce version controle noiseにチェック
上記2点を確認します。デフォルトの状態だと上記の状態になっていると思います。
以上で事前準備は終了です。これから手順を説明していきます。
安全にブランチを切り替えるための手順
作業を全て保存する
現在の作業を全て保存します。
Visual StudioやVS Codeなどのエディタ上、Unityエディタ上でctrl + Sを押します。
変更中のファイルが残っていないかも確認しましょう。
コミット or スタッシュを行う
変更をブランチにコミットするか、一時的に退避しましょう。
git bashを開き、Unityプロジェクトへ移動します。
cd プロジェクト名その後、コミット or スタッシュを行います。
【コミットの場合】
git add .
git commit -m "任意のメッセージ"【スタッシュの場合】
git stashUnityエディタを閉じる
Unityエディタを閉じます。
開いたままだとキャッシュや.metaの整合性が崩れる場合があります。
特にシーンファイルやPrefabのマージ時にトラブルの原因になります。
Gitでブランチを切り替える
gitでブランチを切り替えます。
git checkout 切り替えたいブランチUnityを再起動
Unityが新しいブランチのファイル構成に合わせてLibraryを再構築します。
初回起動のみ多少時間がかかります。
変更内容を確認
シーン、Prefab、スクリプトなどが意図したブランチの内容になっているかチェックします。
まとめ
➊作業を全て保存する
➋コミット or スタッシュを行う
➌Unityエディタを閉じる
➍ブランチ切替
➎Unity再起動
➏内容確認

コメント