エンジニアが避けては通れないツール
いままで(これからも)一人開発なので、ずっと見てみないふりをしていたバージョン管理ツールですが、このたびどうしてもMacとWindowsの両デバイスで開発する必要がでてきました。
これまではGoogleドライブなどに入れて共有したりバックアップをとったりしていましたが、Unityプロジェクトのサイズが大きすぎてクラウドに反映させるのに時間がかかったり、Googleドライブにアップロードしているあいだ回線が重くなったりと効率が悪い状態でした。
そこで、とうとう重い腰を上げてバージョン管理ツールを使ってUnityの開発をすることを決意しました。下記を目的として、使い方を忘れないようにメモしておこうと思います。まただれかの参考になればと思います。
- バックアップを兼ねたバージョン管理
- MacとWindowsのそれぞれで開発したい
- Gitを使ってると言いたい
なお、管理人もGitについてしっかりと理解しているわけではないので用語や操作方法に間違いがあるかもしれません。
使うツールはGitとGitHubとSourceTree
Gitといえばコマンドラインで操作するイメージですが、SourceTreeというソフトを使えばグラフィカルなユーザーインターフェースで操作ができます。
Gitに関する知識があるに越したことはないと思いますが、それを優先するとGitを使う前に挫折しそうになるのでとりあえずは単純に操作を覚えて使っていくのがいいと思います。
Gitとは
PC側でバージョン管理するためのツールです。コマンドラインで操作します。
SourceTreeとは
Gitを使うにはコマンドラインでの入力が必要ですが、SourceTreeはGitをマウスなどで操作できるようにするツールです。ですから、Gitは必須のソフトですがSourceTreeはなくてもいいということになります。ただ、管理人はグラフィカルに操作したいのでSourceTreeを使います。
GitHubとは
Gitで管理しているファイルを保管できるサイトです。複数人でバージョン管理するときなどはGitHubを使えば共有しやすくなります。ソースコードを公開したりするのにも使われているサイトです。以前は非公開のリポジトリは有料サービスでしたが、現在は無料で非公開リポジトリを作成することができるようになりました(人数制限あり)。
SourceTreeのインストールとアカウントの作成
https://www.sourcetreeapp.com/
とにもかくにもまずはSourceTreeを上記のサイトからダウンロードしましょう。
ダウンロードしたファイルを実行すればインストールがはじまります。
最初にBitbucketのアカウントを入力する必要があります。アカウントを持っていない方は 「Bitbucket Cloud Account? Create one for free」 をクリックしてアカウントを作りましょう。
アカウントを登録したらそのアカウントでログインします。ブラウザが開いてログイン画面になるのでブラウザ側でログインしましょう。管理人の場合はログイン後のブラウザ画面はなぜかアクセスできない状態でしたが、SourceTree側のログインは成功しました(アクセス許可について聞かれることもあるので許可します)。
ログインができてインストールが続きます。
SourceTreeのインストールのときにGitもいっしょにインストールできます。すでにGitをインストール済みの場合はチェックボックスがありません。
Mercuialは使わないのでチェックを外して続ければダウンロードとインストールが始まります。
ここはデフォルトでBitbucketのユーザーIDとメールアドレスが入力されていると思います。
SSHキーの設定はあとからでもできるのでとりあえずはチェックを外して進めます。
インストールが完了して起動できればOKです。
GitHubアカウントの作成とリモートリポジトリの作成
次に上記のサイトでGitHubのアカウントを作ってログインしましょう。
ログインしたら左上にある「New」ボタンを押してリポジトリを作成しましょう。
Repository NameはUnityプロジェクトの名前にしておくとわかりやすいかもしれません。
Descriptionはリポジトリの説明を書いておきます。
非公開にするのでPrivateを選択しておきましょう。
gitignoreファイルの設定をUnityにしておきます(バージョン管理する必要のないファイルなどを無視するようにする設定ファイル)。
良ければCreate repositoryをクリックしてリポジトリを作成します。
リポジトリ作成後、リポジトリの画面になります。
Clone or downloadという緑色のボタンをクリックして、表示されたGithubのリポジトリのURLをコピーしておきます。
GitHubのリポジトリとSourceTreeのリポジトリを関連付ける
SourceTreeを使ってローカルリポジトリを作成します。
Create+というところをクリックします。参照ボタンをクリックしてUnityプロジェクトのフォルダを指定しましょう。
名前は自動的にフォルダの名前(プロジェクトの名前)になると思います。
リポジトリの画面になったら、リモートリポジトリ(GitHubのリポジトリ)とつなげましょう。右上の設定ボタンをクリックします。
リモートタブの追加ボタンをクリックします。
ここでリモートリポジトリ(GitHubで作ったリポジトリ)を設定します。
リモート名はoriginにします。特に決まりはないようですがoriginが慣例となっているそうです。
URL/パスのところに先ほどGitHubで作ったリポジトリのURLを入れます。
ホストタイプやルートURLなどは自動入力されます。
最後にユーザー名にGitHubのユーザー名を入れて、OKボタンをクリックします。
ここからがとても大事
とにもかくにもSorceTreeのリポジトリ画面にあるプルボタンをクリックします。これでさきほど作ったGitHubのリポジトリの中にあるUnity用のignoreファイルをダウンロードします。
これで次からUnityプロジェクトのファイルをGitHubにアップロードするとき、不必要な大量のファイルをアップロード(プッシュ)することがなくなります。
これを忘れるとアップロードに時間がかかるようになり(とくにiOSのビルドとかしたあとだと)、Gitの便利さが大幅に下がりますので注意が必要です。
一度インデックスしてアップロード(プッシュ)してしまうと、あとからignoreファイルをダウンロード(プル)しても無視してほしいフォルダやファイルがアップロード(プッシュ)され続けます。
これでGitを使う準備が整いました。あとはプロジェクトを更新したらSourceTreeを操作してバージョン管理しましょう。
Gitでの管理をやめたいとき、もしくは一から管理したいとき
プロジェクトフォルダをローカルリポジトリに設定すると、そのフォルダの中にGitのファイルが作られます(隠しファイル)。
これを削除するとGitの管理をやめることができまし、もしくは一から管理をし直す事ができます。