[モバイルアプリ開発]Githubセットアップ (Mac)
どうも、Unityでのモバイルアプリ開発勉強中のTamaです。
個人開発だからGithubで管理しなくても全部ローカルで保存でいいかーと思っていたんですが、以下の理由でGithubで変更管理をすることにしました
めっちゃいい感じに進んでいたのに、コードを修正したらエラーが止まらなくなって一回エラーが出てなかった時に戻りたいけど、どこに戻ればいいかわからなくなる
後から備忘で勉強したことや気をつけるべき事を書こうと思っていたが(こちらのnoteの記事しかり)、どんどんコードやプロジェクトの設定が変わっていくので、記事を後から書こうと思うとその時のコードの状況などを追うのが難しい
セットアップ
1. Githubアカウントを作る
こちらから実施
レポジトリを作ったら以下が表示されるので、コピーしてTerminalに貼り付けて実行
2. Githubでレポジトリを作る
https://github.com/new をクリックしてレポジトリの名前を設定
3. Githubレポジトリを準備
レポジトリが作成されると以下の通り表示されるのでTerminalを開き貼り付け&エンターを押す
TerminalはMacだとFinderから見つけられます!
echo "# repositoryname" >> README.mdgit initgit add README.mdgit commit -m "first commit"git branch -M maingit remote add origin https://github.com/username/repositoryname.gitgit push -u origin main
4. コミットの対象としないファイルを設定
.gitignore ファイルをこちらからダウンロードし、Unityのプロジェクトフォルダーに配置する
⚠️GithubでPushできるのは100MBまで。100MB以上のものもGit LFSを使いPushできるが、基本的にはそのような大きなファイルサイズのものをPushする必要があるのか考えた方が良い (画像ファイルなどであれば表示するのには大きすぎるし、Unityの設定ファイルであればPushする必要がないかも)
今回自分はLibraryのファイル配下のArtifactDBが100MBだったためPushできなかった。ChatGPT曰くPushする必要があるファイルは以下で、これ以外のものは.gitignoreファイルに記載しPushされないようにする
Assets
ProjectSettings
Packages
ファイルの中身の例
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Ll]ogs/
/UserSettings/
/[Mm]emoryCaptures/
.vs/
.idea/
.vscode/
*.csproj
*.unityproj
*.sln
*.userprefs
Swiftの場合は以下
# Ignore macOS system files
.DS_Store
# Ignore Xcode user-specific files
*.xcuserdata
*.xcscmblueprint
# Ignore Derived Data
DerivedData/
# Ignore CocoaPods dependencies
Pods/
Podfile.lock
# Ignore API keys (if you have them separately)
GoogleService-Info.plist
アクセストークンの準備
初めてコミットする際にユーザーネームとパスワードを聞かれる。Githubはアカウントログイン時のパスワードはサポートしていないためPersonal Access Tokenを作成する
こちらから新しいトークンを作成する
作成したらトークンをコピーしておく (2度と表示されないので注意。どこかに保管しておく)
コミット
Unityのプロジェクトで変更があった時に、その変更をGithubのリポジトリに反映します
TerminalにてUnityがあるディレクトリに移動する
例: cd Documents/UnityProject
必要に応じてブランチを作成する
git checkout -b branch-name
※branch-nameの部分は任意のブランチの名前
変更がある箇所を確認する
git status
どの変更をリポジトリに反映するか選ぶ
変更があった全てのファイルを対象にする: git add .
トラックされているファイルのみ対象にする (gitignoreで定義されているものは追加しない): git add -u
特定のファイル配下のもののみ対象にする: 例 git add Assets/
特定のファイルのみ対象にする: 例 git add Assets/example.png
反映する変更に名前をつける
git commit -m "added a splash screen"
反映する
git push origin branch-name
※branch-nameの部分は任意のブランチの名前
ここでUsernameとパスワードを聞かれたら、UsernameはGithubのユーザーネーム、パスワードは前項で設定したトークンを入力する
留意点
今回は個人でGithub使っているが、チームで開発する場合は他のチームの方の反映を取り込みコンフリクトをなくすためこまめに最新のリポジトリの状況にアップデートする
git pull origin main