跳到正文
Qiita · Unity 开发社区· 来源· kurisaka_konabe·· 5 小时前AI 评分1

Unity 使用 SourceTree 进行版本管理入门(准备篇)

Unityでソースツリーを使ってバージョン管理する1(準備編)

正文 · 原文

はじめに

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/
{44CA511D-377A-4CFF-A446-FDD4CA2D5A83}.png
トラップ注意、Windowsユーザは「Also available for Windows」をクリック

image.png
スキップ

image.png
Gitにチェック

image.png
ソースツリー上でのユーザー名を設定します。
よくわからないければ、Githubのユーザー名と同じにしてもいいでしょう

image.png
SSHキー → 「いいえ」

image.png
インストール完了

CredentialHelperSelector

このウィンドウが表示される場合、以下のように選択して「Select」

image.png

「Sign in with your browser」でGithubに繋ぎましょう
image.png

Github

Githubアカウントを作る

https://github.co.jp/
サインアップ:新規にアカウントを作る
サインイン:作ったアカウントでログイン

リモートリポジトリの作成

Github上で管理するプロジェクト名みたいなものです

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

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

image.png
リモートリポジトリが作られました

仲間を招待する

image.png
Settings → Collaborators → Add people

{5CC23A55-6BE8-4FD1-8624-0328168C52ED}.png
選択して「Add ...」を押す

image.png

相手側に通知がくる
image.png

{6A0AEA14-3EC6-4933-BBD1-0BD7BAB7FD90}.png

{501EB175-DB1E-49FF-A477-C77C1A2B6A32}.png
アセプトで受け入れる

コントリビューター(共同編集者)になれます
(グーグル連携でログインしていると表示されない?)
image.png
※メアドを設定しましょう

クローンする

GithubのリモートリポジトリからPCにコピーしてきます

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

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

image.png
クローンが完了しました

ファーストコミット

最初のコミットをしましょう。
クローンしてきたばかりのフォルダには.gitignoreファイルしかありません。
そこにUnityのプロジェクトフォルダ内のファイルを全てコピーします。

image.png

image.png
コピー or カット&ペースト
プロジェクトのフォルダ自体は含めないこと!

コピーが完了すると、ローカルリポジトリの変更があった(ファイルやフォルダが追加された)
として、変更が検知されます。

※コピー元のプロジェクトの方を間違って弄らないこと、変更として認識されません

image.png
大量のファイルの追加が検出される→すべてインデックスに追加→コミット→PUSH

コミット:変更を記録(PC上のローカルリポジトリに)
PUSH:記録した内容をリモートリポジトリ(Github)に反映

以後、プロジェクト(ローカルリポジトリ)の内のファイルに変更が入る度に検出されます。
検出された変更内容をコミットしたり、変更をファイル単位で破棄したりできます。

来源:Qiita · Unity 开发社区 · qiita.com