Unityでgitignoreが認識されない対処
あけましておめでとうございます。nuakamです。
年明け最初の記事はエラーハウツー記事です。
GitにUnityリポジトリを作るところを改めて整理します!
今月からGitHubが無料でプライベートリポジトリを作れるようになりましたね。
作れる数は限られてますがありがたい…いや、使うことあるかな…?
Unityでgitignoreを認識させる
久しぶりに新リポジトリ作りました。
困ったことに.gitignoreが動いてないように見える…
直しましょう!
.
.
.
.
.
.
直った!
忘れないためにメモDA!
環境
- ローカルPCにGit インストール済み
- soucetreeではなくコマンドで頑張る(soucetreeわからん…)
- Windows10(他のOSでも問題なし)
新規リポジトリから丁寧に作り直す
新リポジトリを作ったとき、後々困らないようにするための手順
- リポジトリを作る
- ローカルPCにクローン
- .gitignoreを作成
- FirstPush!
新規作成のファーストコミットは.gitignoreだけにしたほうがいいようです。
プロジェクト自体は2回目以降にするべき(という記事が至るところにありました。何故かは忘れた( ・´ー・`)...)
1.リポジトリを作る
GitHub、Gitbucket、Bitbucket 使ってるサービスによってやり方がちょっと違う。
(面倒くさがらずにコマンドで作ればスマートに統一できる)
ここは各サービスごとに情報がたくさんネットに転がってるので割愛!
2. ローカルにクローン
WindowsはpowerShellを。Linux系Mac系の人はターミナルを開きましょう。
windowsの人はターミナルでもできますが、PowerShellのほうが上位互換で使いやすいです。
クローンした場所にフォルダを作りその場所に移動しましょう。
Shift押しながら右クリックでそこをカレントディレクトリとしてpoweShellが開けます。
次のコマンドでクローンしてきます
git clone URL(.gitまで)
3.『.gitignore』作成
windows10ではドットファイルが作れません。
Qiitaに作り方がありましたので、ここで躓いた人はご参照を。
いつどこを弄ったのか分かりませんが、私のPCではなぜか問題なく作れました。
謎です。
コマンドでも「新規テキストファイル作成→.txtを消して.gitignoreにリネーム」でもOKです。
作る階層は.gitフォルダやREADME.mdがある場所、トップ階層です。
Unity プロジェクトのignoreテンプレートはこれです
[Ll]ibrary/ [Tt]emp/ [Oo]bj/ [Bb]uild/ [Bb]uilds/ [Ll]ogs/ [Aa]ssets/AssetStoreTools* # Visual Studio cache directory .vs/ # Gradle cache directory .gradle/ # Autogenerated VS/MD/Consulo solution and project files ExportedObj/ .consulo/ *.csproj *.unityproj *.sln *.suo *.tmp *.user *.userprefs *.pidb *.booproj *.svd *.pdb *.opendb *.VC.db # Unity3D generated meta files *.pidb.meta *.pdb.meta # Unity3D generated file on crash reports sysinfo.txt # Builds *.apk *.unitypackage # Crashlytics generated file Assets/StreamingAssets/crashlytics-build.properties
プロジェクトによって適宜増えることもあるかもしれませんが、殆どの場合使いまわしで大丈夫です。
海外の人が作ったもののようで、世界中の人がこれを使いまわしてるっぽいです。
↓こんな便利なサイトもあります
www.gitignore.io
OS、IDE、プログラミング言語によって自動でignoreを生成してくれます。
今回の例では「Unity VisualStudio window」と検索するとバシッと作ってくれます。
なんとコマンドラインからも作れるようです
気になった方はこちらをどうぞ
環境によってはファイル形式の問題でignoreが反映されないこともあるようです。
.ignoreファイルをShift-Jisとして保存しましょう
4. FirstPush!
First commitはブランチを切らないでmasterに上げましょう(何故かはわかりません)
git add . git commit -m "firstCommit" git push
これで.gitignoreがリモートにマージされました。
ここでUnityプロジェクトを持ってきて
git add . git commit -m "Project Add" git push
どうでしょう?
反映されたんじゃないでしょうか。
注意点
- 『.gitignore』がファイル名です。スペルミスはありませんか?
- .gitignoreのおいてる場所はリポジトリのトップですか?
既存のリポジトリにgitignoreを追加する
こちらは後日…
でも改めて作り直したほうがストレスフリーかも