【Unity】VisualScripting バージョン管理
前回の記事の続きの前に
VisualScriptingを使って色々遊んでいた後、Gitを確認すると大量のファイルが生成されていた
(Assets/Unity.VisaulScripting.Generated
フォルダ配下)
ファイル数が多いのと、特に UnitOptions.db
が30MB近く存在しているのが問題。
このままバージョン管理するのはいかがなものかと思いリファレンスを確認しました
バージョン管理から除外する必要があるんですね(最初からそうしてほしい)
注:プロジェクトにパブリックリポジトリを使用している場合は、以下の手順でビジュアルスクリプトファイルを除外する必要があります。そうしないと、ビジュアルスクリプトをオンラインで違法に再配布し、Unity AssetStoreのEULAとToSに違反することになります。
なかなか熱い注意文!!!
いや、これは気づかない人いそうですが...
おとなしく除外する設定を入れようと思います。
.gitignoreに設定を追加します
VisualScriptingの設定からUnitを生成した時に吐き出されるファイルすべて除外対象
.gitignore に以下を記述れば良いようですが、標準のUnityの設定も混じっており
## Bolt # Optionally exclude these transient (generated) files, # because they can be easily re-generated by the plugin Assets/Bolt.Generated/VisualScripting.Flow/UnitOptions.db Assets/Bolt.Generated/VisualScripting.Flow/UnitOptions.db.meta Assets/Bolt.Generated/VisualScripting.Core/Property Providers Assets/Bolt.Generated/VisualScripting.Core/Property Providers.meta ## Unity # From: https://github.com/github/gitignore/blob/master/Unity.gitignore [Ll]ibrary/ [Tt]emp/ [Oo]bj/ [Bb]uild/ [Bb]uilds/ Assets/AssetStoreTools* # Visual Studio cache directory .vs/ # Autogenerated VS/MD/Consulo solution and project files ExportedObj/ .consulo/ *.csproj *.unityproj *.sln *.suo *.tmp *.user *.userprefs *.pidb *.booproj *.svd *.pdb *.opendb # Unity3D generated meta files *.pidb.meta *.pdb.meta # Unity3D Generated File On Crash Reports sysinfo.txt # Builds *.apk *.unitypackage
VisaulScriptingだけであれば
## Bolt # Optionally exclude these transient (generated) files, # because they can be easily re-generated by the plugin Assets/Bolt.Generated/VisualScripting.Flow/UnitOptions.db Assets/Bolt.Generated/VisualScripting.Flow/UnitOptions.db.meta Assets/Bolt.Generated/VisualScripting.Core/Property Providers Assets/Bolt.Generated/VisualScripting.Core/Property Providers.meta
ここだけですね。
ところがよく見たらBoltの名前のままですね
最新のVisualScriptingを使用している場合 namespaceも Unity.VisualScripting に変わっているため正しくは
## VisualScripting # Optionally exclude these transient (generated) files, # because they can be easily re-generated by the plugin Assets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db Assets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db.meta Assets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers Assets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers.meta
です。( Unity2021.2.0b13 )
これをgitignoreに追加して保存すると大量に出ていたファイルが全て消えます
と思ったらなんか残ってます。
フォルダのmetaデータ。
ということでもう3つ追加します
## VisualScripting # Optionally exclude these transient (generated) files, # because they can be easily re-generated by the plugin Assets/Unity.VisualScripting.Generated.meta Assets/Unity.VisualScripting.Generated/VisualScripting.Flow.meta Assets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db Assets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db.meta Assets/Unity.VisualScripting.Generated/VisualScripting.Core.meta Assets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers Assets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers.meta
もしすでに追加しちゃった場合は git コマンド
git rm -r --cached . git add . git commit -am "Remove ignored files"
で削除するコミットを作成できますとも書いてますね
注:ファイルをパブリックリポジトリにプッシュした場合、この手順ではコミット履歴からファイルが消去されません。あなたはまだビジュアルスクリプトファイルを違法に再配布しています。リポジトリをプライベートにするか、ビジュアルスクリプトファイルが含まれていない新しいツリーで新しいリポジトリを開始します。
そうなんですけど中々熱い警告文...
それならば初めからバージョン管理として吐き出されない方法は取れないのだろうか..
それかGithubに履歴からも完全に消し去る機能がほしいですね(無理か)