【想定読者】
・gitの導入が済んでいる方
・githubのアカウントを持っている方
・lfsの導入が済んでいる方
・Unityプロジェクトを持っている方
Add .gitignoreにチェックを入れて、Unityを選択しておきましょう。
Public/Privateの設定は、他の人に公開しないならばPrivateに設定しましょう。
(2) 出来上がったリポジトリのURLを確認する。(3で使います)
リポジトリを開いて一番最初に出てくる画面の、
緑色のCodeというボタンを押すと表示されるURLです。
(2021/6/13現在)
(3) 自分のUnityプロジェクトにgitを導入する。
git init
git remote add origin [2のurl]
コマンドプロンプト(Macの場合はターミナル)で自分のUnityプロジェクトに移動し、上記のコマンドを実行する。
私の実行環境では、下記のようなフォルダです。
実行しても何も表示されないので、不安な方は「git remote -v」というコマンドを実行して、2のURLが表示されれば成功です。
(4) リモートの情報を取り込む
git pull origin main
(5) Unityプロジェクトの情報をリモートリポジトリに反映する
git add .
git commit -m "Add project"
git push origin main
[git add .]は、gitで管理するファイルを選択するコマンドです。[.]は全てという意味ですが、個別に指定したい場合はファイル名/フォルダ名を入力します。
[git commit -m "Add project"] 選択したファイルを実際にコミットするコマンドです。["Add project"]の部分は自由に決められるメッセージですが、あとで識別しやすいような文章を入れるのがおすすめです。
[git push origin main]実際にリモートリポジトリに反映するコマンドです。gitのバージョンによっては、[main]の部分を[master:main]とする必要があるかもしれません。
これは自分のmasterローカルブランチからmainリモートブランチへ送信するという意味です。
ローカルもリモートもどちらもmainの場合は、main:mainと書かずにmainと省略できます。
(6) lfsを導入する
git lfs install
git lfs track "*.png"
[git lfs track]コマンドでlfsで管理するファイルを選択します。
[git lfs track "*.png"]コマンドでpngファイルを全てlfsで管理するように設定できます。
一度上記のコマンドを実行した後はカレントディレクトリに[.gitattributes]ファイルが出来上がるので、それを直接編集するのがおすすめです。
*.cs diff=csharp text
*.cginc text
*.shader text
*.mat merge=unityyamlmerge eol=lf
*.anim merge=unityyamlmerge eol=lf
*.unity merge=unityyamlmerge eol=lf
*.prefab merge=unityyamlmerge eol=lf
*.physicsMaterial2D merge=unityyamlmerge eol=lf
*.physicsMaterial merge=unityyamlmerge eol=lf
*.asset merge=unityyamlmerge eol=lf
*.meta merge=unityyamlmerge eol=lf
*.controller merge=unityyamlmerge eol=lf
## git-lfs ##
#Image
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.ai filter=lfs diff=lfs merge=lfs -text
#Audio
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
#Video
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
#3D Object
*.FBX filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
#ETC
*.a filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.dll filter=lfs diff=lfs merge=lfs -text
*.unitypackage filter=lfs diff=lfs merge=lfs -text
*.aif filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.rns filter=lfs diff=lfs merge=lfs -text
*.reason filter=lfs diff=lfs merge=lfs -text
*.lxo filter=lfs diff=lfs merge=lfs -text
#Asset
*.asset filter=lfs diff=lfs merge=lfs -text
(7) lfsの導入をリモートリポジトリに反映する。
git add .
git commit -m "Add lfs"
git push origin main
備考
今回は全てコマンドで実行しましたが、SourceTreeなどのソフトを利用してもいいと思います。
git, github, lfsの導入方法は別の記事に残すかもしれないです。
Jenkinsを使ってgithubで管理しているUnityプロジェクトを一括でビルドする方法も記事にしたいです。