そろそろ新作のプロジェクトも肥大化してきたし
簡単に差分やバックアップを取りたいなと思って重い腰をあげて
GitHub連携を調べて自分用にまとめてました
なお誤操作でプロジェクトが消失してしまい
ほとんどゲーム制作が振り出しに戻った模様
①アカウントの連携
SourceTreeを導入して
ツール>オプション>認証>アカウント>追加
からGitHubのアカウントと連携する
追加画面はGitHubがログイン状態だとOAuthで簡単に連携できる
②Unity側の設定
ProjectSettingのEditor>VersionControlをVisibleMetaFiles
ProjectSettingのEditor>AssetSerializationのModeをForceText
に変更する(おそらく最初からなってる)
③ローカルリポジトリを作成する
SourceTreeの上部にある+からリポジトリの作成をする
設定画面では
保存先のパス:Unityのプロジェクトがあるフォルダ
名前:わかりやすいプロジェクト名
の二点のみ変更する
④GitIgnoreを設定する
SourceTreeの右上の設定からリポジトリの設定をする
詳細>リポジトリの固有の無視リストを編集して
下記の配布されているGitIgnoreに書き換えることで
余計なファイルデータを保存しなくできる
https://github.com/github/gitignore/blob/main/Unity.gitignore
⑤Git LFSの設定をする
GitLFSを設定することで100MBを超えるファイルを受け付けられるようにする
SourceTreeの
リボジトリ>GitLFS>リポジトリの初期化
その後に
リボジトリ>GitLFS>追跡/未追跡のファイル
を選び適当に入力すると「.gitattributes」が生成されるので
このファイルも配布されているファイルに書き換えることで
詳細な設定をすることができる
https://gist.github.com/nemotoo/b8a1c3a0f1225bb9231979f389fd4f3f
⑥リモートリポジトリの連携をする
GitHubの右上+からNew Repositoryを選択する
RepositoryNameには好きなプロジェクト名を入力し非公開がいいなら
Privateにチェックをいれる
その後にURLが生成されるのでそれをコピーする(今回はHTTPS)
例「https://github.com/???/???.git」
次にSourceTreeの上部にある+からリポジトリの設定>追加をする
リモートの詳細設定を開き
先ほど入手したURLを入力する
リモート名は好きな名前でいいが今回はOriginとする
⑦GitHubにプッシュする
SourceTreeにて
上側メニューからプッシュを選び
「Master」を選んでプッシュをする
GitHubの右上+からYour Repositoryを選択する
ファイルがGitHub上に反映される
その後GitHub上にあるのはOrigin/Masterと表示される
(⑥で設定した名前が表示される)
その他
・複数人でバージョン管理をする場合はGit Flowを導入するといいらしい
・プッシュする際にファイルのサイズが大きいとエラーが出る
エラーが出る場合はSourceTreeの上部にあるターミナルから
「git config --global http.postBuffer 524288000」と入力してから再起動
・ローカルリポジトリを削除する時にブックマークではなく「リポジトリを消す」を選ぶとファイルが消失する(プロジェクトが大きいとゴミ箱にも入らず消える)