ようやくgithubについて最低限使えるようになったので忘れないように備忘。
ちなみに、自分用の備忘録なのでgitの運用方法としておそらく間違っているが、自分が使えてるので良い。
もっと厳格に管理するならgitの仕組みや開発思想から勉強しないといけないと思うけど、そんな時間もない。
個人開発だし、極論個人が使えていたら良い(とする)
前提
- githubのユーザーを作成済み
- AccessTokenの発行済み(手順)
- 今回はMacでの手順
github管理環境構築手順
リポジトリの作成
githubにアクセス。
OverViewタブを開いている場合、[Repositories]タブを開く
[New] または [New Repository]というボタンが右上にあると思うのでクリック

Ownerを自分のユーザー、Repository nameを任意の名前に設定。

Descriptionはお好きに(管理したいUnityプロジェクトのゲーム内容とかを入れておけば良いかと)

で、絶対に忘れてはいけないのが「Private」へのチェック。

これを忘れると自分以外の全ユーザーがプロジェクトをダウンロードできるようになってしまう。
Asset Storeで購入した有料Assetを管理する場合はPrivate設定をしないと規約違反になってしまうので注意。
(参考:https://ikeball.hatenablog.com/entry/2020/04/18/160534)
Add a README fileへのチェックは不要。
Add .gitignore には”Unity”を設定しておく。

gitignoreはgitで管理しないファイルを明示的に指定するためのファイル
Unityプロジェクトをすべてgitで管理すると余裕で1GBを超えてしまうため、gitで管理する必要のないファイルはアップロードから除外しておいたほうが良い。
そのファイルをUnity用に自動的に作成してくれる設定となる。
※ただし、ある程度なので今後Assetを追加したり、別で大きなファイルを扱う場合には自分で追記する必要あり
設定が終わったら[Create Repository]を押下して作成は完了

リポジトリのClone
作成したリポジトリをローカルにコピーする。
リモートリポジトリをローカルにコピーするにはgit cloneを使用する。
MacにてTerminalを起動し、コピーしたいディレクトリに移動する。
今回は/Users/[username]/git というディレクトリを用意した。
$ cd /Users/[username]/git
カレントディレクトリを変更したらリポジトリをCloneする。
作成したリポジトリの[Code]をクリックし、HTTPSのURLをコピーする。

そしてTerminalにて以下コマンドを実行
$ git clone https://[git-username]:[AccessToken]@[コピーしたURL]
AccessTokenやユーザ名に間違いがなければ正常にローカル環境にコピーできるはず。
Unityプロジェクトを作成
すでに存在するプロジェクトを管理したいのであればこの項目はスキップ
Unityのプロジェクトを作成する。
とはいえ、特別なことをする必要はなく、いつも通り作成すれば良い。
Unityプロジェクトをgit管理用ディレクトリに移動
ローカルにクローンしてきたgitリポジトリのディレクトリにUnityのプロジェクトをそのまま移動させる。
ドラッグドロップとかで良いが、なにかあると嫌なので容量がそこまで大きくないのであればコピーで良いと思う。
移動したUnityプロジェクトをリモートリポジトリにアップロード
まだローカルにしかファイルがないのでgithubのリモートリポジトリにファイルをPUSHする必要がある。
カレントディレクトリを移動して、コミット→プッシュすれば良い。
$ cd /Users/[username]/git/[リポジトリ名]
$ git add -A
$ git commit -a -m "[コメント]"
$ git push origin [ブランチ名]
現在のブランチを確認するには
$ git branch
すれば良い。
gitの運用方法として、develop用のブランチを切ったり、ステージング用のブランチを切ったりして個別で管理するのが良いらしいが、
個人で開発するんだったら自分がやりやすいようにすれば良いと思う。(多分)
自分はmainとdevだけあればいいかな・・・
ということでdevelopブランチだけ切っておく。
$ git checkout -b develop $ git branch * develop main
Unityのプロジェクトパスを変更する
このままだとUnityHub等で管理しているUnityプロジェクトとgithub管理しているUnityプロジェクトがそれぞれ違うところを参照しているので、合わせるためにUnityHubの設定を変更する。
とはいえ、今まで使用していたプロジェクトをリストから削除し、
新たにgithub管理するようになったプロジェクトを開けばよいだけ。
うまく行かなかったときのリスクを考慮すると、リストから削除しておいて、元のディレクトリは残しておくのが無難。
もし何かあった場合はそこから切り戻しができる。
引っかかったエラー
大きいファイルをPUSHしようとしたときに
大きいファイルをPushしようとしたときにエラーを吐くことがある。
無料版(有料版も同じかも)のgithubではプッシュできるファイルサイズに上限がある(100MB)
なので、大きいファイルは.gitignoreファイルに追記をして管理外にしておくと良い。
/[Aa]ssets/[Ss]treamingAssets/aa/*
こんな感じで書いておくと、
Assets/StreamingAssets/aa/
配下のファイルはgitで管理されなくなる。
このあたりは「gitignore 書き方」とかで調べると色々出てくるのでそれを参考に。
他のPCで開発する際に同じgithubで管理したい
単純にローカルで開発したものをコピーすれば良い。
gitの情報なども併せてコピーされるので、同じgitで管理できる。
ただし、ローカルリポジトリとリモートリポジトリで差分が発生したりするとPushができなくなったりめんどくさいことになるので注意