UnityプロジェクトをGithubリポジトリ+SourceTreeで管理するセッティング方法(Windows10)(動作確認2019年2月28日)
こんにちは 開発チームのmawaです。
想定読者
- Unityプロジェクトをチーム開発したい
- GithubでUnityプロジェクトのコードやモデルをチーム開発に使いたい
- Windows10でUnityEditor使って開発したい
という方向けです。Unityでは3Dや2Dのグラフィックデータをたくさん扱うことが多いため、他のWebアプリなどの作成プロジェクトのようにGit+Githubというシンプル構成では対応がなかなか厳しいものになりやすいので、プラスアルファの運用知識が必要です。具体的にはGitLFSという仕組みも利用しながら、UnityEditor~GitHubまで統一的に連携が撮れた状態で開発することになります。そのためのノウハウをまとめました。
今回はWindows10でのメモです。Macでも大幅には変わらないと思いますが、GPUリソースが現状比較的低コストで使えるWindowsマシンでのUnity開発からのチーム共有のノウハウについて、まとまった記事が見つからなかったので自分でまとめました。
必要なパッケージ一覧
- WSL(Windows10で使えるUbuntu)
- Git for Windows
- Git LFS(Git とは別のパッケージなので注意)
- SourceTree for Windows
- BitBucketアカウント(SourceTreeセットアップ時に強制加入させられる。bitbucket自体は今回は使わない)
- GitHubアカウント
- BitBucketアカウント(SourceTreeセットアップ時に強制加入させられる。bitbucket自体は今回は使わない)
- Unity(バージョンは、3.3f1)
作業工程
[1]WSLがセットアップされている状態にあること
↓
[2]Git for Windows のインストール
↓
[3]GitHubのアカウント取得
↓
[4]GitHubの管理用リポジトリ作成(unity用 .gitignore
の指定がおススメ)
↓
[5]SourceTree for Windows のインストール
↓
[6]SourceTree と GitHubアカウントの連携
↓
[7]SourceTree にて管理するローカルリポジトリの登録
↓
8Git LFSのインストール
↓
[9]SourceTree にて管理するローカルリポジトリでのGit LFS の適用(初期化)
↓
[10]SourceTree にて管理するローカルリポジトリとGitHubの管理用リポジトリの連携
↓
[11]1度git pullしてリモートとローカル同期initial commit
↓
[12].gitignore
と .gitattributes
のgit add → git commit →git push
↓
[13]通常のgithub運用開始、git pull からの作って、git add → git commit →git pushのサイクル開始
作業別具体的メモ
[1]WSLがセットアップされている状態にあること
WSLのセットアップはこういう記事がたくさんあるので参考になさってください qiita.com
[2]Git for Windows のインストール
ここからダウンロード gitforwindows.org
ダウンロード時は下記以外はデフォルト設定でインストールしました。
Git Bashと、Git LFSは欲しいので、チェックしておきます。あとは惰性。
パスが変化するのは怖いのでこれを選択
これでうまくいきました。なぜかSourceTreeの運用中にGit LFSインストールされてないよとかウィンドウがでてインストール再度したので、なんかこのときのGitLFSが効いているのかどうか謎です。でも一応インストールしておいたほうが無難かなぁ・・・
[3]GitHubのアカウント取得
[4]GitHubの管理用リポジトリ作成(unity用 .gitignore
の指定がおススメ)
[5]SourceTree for Windows のインストール
ここからインストールください
ja.atlassian.com
[6]SourceTree と GitHubアカウントの連携
[7]SourceTree にて管理するローカルリポジトリの登録
[8]SourceTree にてGit LFSのインストール
[9]SourceTree にて管理するローカルリポジトリでのGit LFS の適用(初期化)
SourceTree「new tab」開く
↓
「+Create」ボタン
↓
「Create a repository」
- 保存先のパスを、Unityのプロジェクトのトップディレクトリを参照
- Proj名は参照後自動で入る
- 管理→Git
↓
「次のアカウントでリポジトリを作成」→空欄(リモートリポジトリは後で登録するため)
↓
「作成」
↓
「クローン作成先のパス~はすでに存在しています。続行して、このフォルダにリポジトリを作成しますか?」→「はい」を選択
↓
作業ツリーのファイルのところにファイルが並び、コミット前の状態になる。
↓
git init まで完了した状態になる。
↓
Git LFS initを行う。下記方法①と②どちらかを行えばOKだと思われる。(自分は両方やったので、どっちが効いたかわからない。たぶん①が効いた気がする。)
方法①「リポジトリ」>Git LFS >「リポジトリを初期化」>トラックファイルを適当にpngとかだけ設定する>.gitattributesもつくられる>あとでトラックファイル種類など追記する (git lfsが未インストールの場合、「ツール」>「オプション」でGitの設定を見て閉じようとすると「git lfs まだインストールされてませんけどしますか?」とでる)
方法②git bash を立ち上げて $ git lfs install
[10]SourceTree にて管理するローカルリポジトリとGitHubの管理用リポジトリの連携
リモートリポジトリの設定
GitHubのURLをコピーしておく
↓
「リモート」を選ぶ>「追加」
↓
設定したら「OK」
[11]1度git pullしてリモートとローカル同期initial commit
1度リモートからプルしておく!(同期がおかしくなるエラーになる)
やらかしたときは、Pushに失敗してたらリセットで!
SourceTreeでGit訂正操作
qiita.com
[12].gitignore
と .gitattributes
のgit add → git commit →git push
.gitignoreファイル生成(Win10だとなんかGUIで隠しファイルつくれないので、WSLでtouchコマンド叩いて作る。(Win10の場合、/mnt/c/Users/(ユーザー名)/Documents/
配下にUnityプロジェクトのフォルダがデフォルトでは作られている。 編集は普通にできる。)
↓
.gitattribute
ファイル編集
下記記事が.gitignore
と .gitattributes
の設定についてわかりやすい記事でした
ikep.hatenablog.com
[13]通常のgithub運用開始、git pull からの作って、git add → git commit →git pushのサイクル開始
Unityの設定を変更
- VersionControl→Mode VisibleMetaFiles
- AssetSerialization→Mode Force Text
(よくわからないけど、最初からなってた)
↓
UnityProj保存
↓
残りのファイルをGitHubにプッシュ