はじめに
どうも、にー兄さんと申します。
今回は小ネタなのですが、Unityにgitを導入する簡単な方法を見つけたので書いていきたいと思います。
とはいえ他にもいろいろやり方はあると思いますので、これが一番!というものなく、個人のお好きな環境で導入してもらうのが一番だと思っているので、あくまで一例として受け止めてくださいね。
(久しぶりの記事投稿で導入の雰囲気を完全に忘れた顔)
UnityプロジェクトをGitKrakenで管理する
自分はgitクライアントにGitKrakenを使っています。理由はブランチ表示が綺麗だからというのと、普通に便利だからです。
Unityだと、開発するIDEにGit管理できるシステムが載ってたり各種プラグインを導入できたり色々あるとおもいます(RiderにもVSにも標準でありますよね)。
自分はもともとCUIでgitコマンド叩いて管理していたのもあって、IDE付属の機能がちゃちゃっと「はいステージングはいコミット~~~適当にプッシュもしておくしいつのまにかignoreとかライセンスも追加してあるぜ~~~」みたいにやってしまうとたまに怖いんですよね(普通はそんなことないと思いますが)
そういう意味では、自分の手の中で堅実にgit管理ができて、オシャレなクライアントが使いたいって人はGitKraken普通におススメですね。
UnityとGit
ところで、Unityエンジニアの皆さんはGit管理ってどうやっていますか?
自分の中ではちょっと前までUnityとgitってすごい相性悪いイメージがありました。
まぁ巨大なバイナリファイル扱ったりするしチームで同じシーンいじったらコンフリクトするしファイル構造もAsset以下は勝手にmetaファイル生成されちゃうし......という感じですかね?
とはいえ最近(でもないか?)は普通にLFS導入したりGithub for Unityというパッケージがあったりで普通にgit管理は便利になってきました。
参考:【超初心者向け】Unityのプロジェクトを、GitHub for Unityを使って超簡単にバックアップする方法
(Unityでsubmoduleどう使えばいいんだろう?ってツイートしたら強そうな人に「使わないのが正解」って言われたときは泣きましたけど)
自分の場合、いつもどうやってたかというと、
- UnityプロジェクトをUnity Hubから作成する
- Unityを閉じる
- プロジェクトのルートをpowershellかなにかのシェルで開く
git init
-
README.md
を適当に書いてステージング、コミットをコマンドで - GitKrakenで開く
- Unityを再度開く
という手順を踏んでいました。
なぜかというと、まずUnityを一回閉じるのは、余計なファイル操作がUnityで勝手に行われることを避けるためです。Asset以下をいじらなければ必要ないのですが、過去何度か失敗していることもあって慎重になっています。
あとGitKrakenは、gitの初期化が済んでいることと、なにかコミットされていないと開けないので、適当にREADME
をコミットしてから開くことにしてました。
GitKrakenで解決!w
...できるのか...?
まぁ大方解決できると思う...。
そのつぎにGitKrakenを開いて、「+」タブから新しいrepoをセットアップしましょう。
「Start a local repo」を押下して作成/初期化するリポジトリを登録します。
そうするとこんな感じの画面が出ると思うので必要項目を入力していきましょう。
注意点としては、Initialize inの項目は、先ほど追加したUnityプロジェクトの親フォルダ、Full PathのほうにUnityプロジェクトのルートを入力してください。
Full Pathのディレクトリが存在しなければ自動で作成される仕組みですが、すでにある場合はそのディレクトリをgit initする仕組みです(これが便利)。
そうすると、ちゃんとUnity用のignoreファイルが生成されたうえで、initialコミットには.gitignore
、LICENSE.md
、README.md
がコミットした状態でリポジトリが初期化されます。
これでUnityプロジェクトにgit管理が導入されました!やったね!
注意
Gitの導入は終わったのですが、ここで一つ注意があります。
たとえば外部のunitypackageとか導入した時に適宜ignoreを設定すると思うのですが、デフォルトで.gitignore
が読み取り専用モードになってます。
なので、これは一回エディタか何かで開いて解除する必要があるのかなぁって思います。
おわりに
すごい小ネタでしたが、記事を書かせていただきました。
個人的にUnityでgit管理するのがめんどくさかったんで、sandbox的なプロジェクトとかテストのためだけに作ったプロジェクトにはgit管理を導入していませんでした。
これからは簡単に導入できるのでただ勉強するだけでもコミットして草が生やせそうです。
少しでもこの記事が、みなさまの参考になれればとても幸いです。
最後まで読んでいただきありがとうございました。