はじめに
Unity初心者のためのソース管理入門
Git・GitHub・SourceTree・リポジトリとは?
Unityでゲームを作っていると、「前の状態に戻したい」「間違って消したファイルを復活させたい」「チームで同じプロジェクトを共有したい」という場面が出てきます。
そんなときに使うのがバージョン管理システムです。
学校や職場のPCでの作業内容と自宅の作業内容を同期したい場合にも便利です。
USBでプロジェクト持って運ぶ運用から解放されます! 便利!
1. リポジトリ(Repository)とは?
リポジトリは、プロジェクトのファイルを保管する「専用の箱」のことです。
この箱の中に、Unityのプロジェクト一式を入れて管理します。
箱の中には「いつ・誰が・何を変更したか」という履歴がすべて残ります。
2. Gitとは?
Gitは、このリポジトリを管理するための仕組み・ツールです。
主なできることは次の通りです:
- ファイルの変更履歴を記録する
- 過去の状態に戻せる
- 複数の人で同時に作業しても衝突を管理できる
- 「この時点の状態」に名前を付けて保存できる(コミット)
コマンド(黒い画面)で操作するのが基本ですが、初心者には少し難しいので、次のSourceTreeを使います。
3. SourceTreeとは?
SourceTreeは、Gitをマウス操作で簡単に使えるようにしたツール(無料)です。
黒い画面でコマンドを打たなくても、ボタンをクリックするだけで次の操作ができます:
- 変更を保存する(コミット)
- 変更をサーバーに送る(プッシュ)
- サーバーから最新の状態を取得する(プル)
- 過去の状態を確認する・戻す
Unity初心者の方は、まずSourceTreeを入れて使うのがおすすめです。
4. GitHubとは?
GitHubは、Gitで作ったリポジトリをインターネット上に置いておくサービスです(無料プランあり)。
主なメリットは:
- パソコンが壊れてもデータが残る(バックアップ)
- チームメンバーと簡単に同じプロジェクトを共有できる
- どこからでも最新の状態をダウンロードできる
SourceTreeからGitHubに接続して、リポジトリを「上げる・取る」操作をします。
その他、注意事項
Unityのバージョンはチームメイト間で必ず統一すること!
ソースツリーのインストール
https://www.sourcetreeapp.com/

トラップ注意、Windowsユーザは「Also available for Windows」をクリック

ソースツリー上でのユーザー名を設定します。
よくわからないければ、Githubのユーザー名と同じにしてもいいでしょう
CredentialHelperSelector
このウィンドウが表示される場合、以下のように選択して「Select」
「Sign in with your browser」でGithubに繋ぎましょう

Github
Githubアカウントを作る
https://github.co.jp/
サインアップ:新規にアカウントを作る
サインイン:作ったアカウントでログイン
リモートリポジトリの作成
Github上で管理するプロジェクト名みたいなものです

リモートリポジトリを作る→「New]
半角英数のリポジトリ名にすること

Choose visbility → Private
Add .gitignore → Unity (Gitの管理から無視するファイルの設定)
仲間を招待する

Settings → Collaborators → Add people
コントリビューター(共同編集者)になれます
(グーグル連携でログインしていると表示されない?)

※メアドを設定しましょう
クローンする
GithubのリモートリポジトリからPCにコピーしてきます

リモートリポジトリを選び、「Copy URL ...」ボタンをクリックします

1つ目の入力欄に先ほどコピーしたURLを貼り付けます
2つ目の入力欄はPC上にコピーする場所です。
保存先フォルダを必要があれば変えましょう(半角英数で構成されていること)
Gitで管理するプロジェクト専用のフォルダを作ってもいいでしょう
ファーストコミット
最初のコミットをしましょう。
クローンしてきたばかりのフォルダには.gitignoreファイルしかありません。
そこにUnityのプロジェクトフォルダ内のファイルを全てコピーします。

コピー or カット&ペースト
プロジェクトのフォルダ自体は含めないこと!
コピーが完了すると、ローカルリポジトリの変更があった(ファイルやフォルダが追加された)
として、変更が検知されます。
※コピー元のプロジェクトの方を間違って弄らないこと、変更として認識されません

大量のファイルの追加が検出される→すべてインデックスに追加→コミット→PUSH
コミット:変更を記録(PC上のローカルリポジトリに)
PUSH:記録した内容をリモートリポジトリ(Github)に反映
以後、プロジェクト(ローカルリポジトリ)の内のファイルに変更が入る度に検出されます。
検出された変更内容をコミットしたり、変更をファイル単位で破棄したりできます。












