複数人で開発するときに必要なこと

## 概要
5人以下で共同開発するときに知っておいた方がよいことをまとめます。

## Bitbucketについて
Bitbucketとはバージョン管理ツールのリポジトリを預かってくれるホスティングサービスです。
同様のサービスとしてGitHubが有名ですが、GitHubは無料では非公開レポジトリの設定ができないので
Bitcucketがオススメです。Bitbucketであれば、最大で5人までであれば非公開レポジトリを無制限に
作成することができます。

- Bitbucketの使用方法
 1. https://bitbucket.org/ にアクセスします。
 2. 「Get started for free」ボタンをクリックし、アカウントを作成します。
  ![image](https://qiita-image-store.s3.amazonaws.com/0/93944/1dfd13c0-99a7-4ae3-5c87-96403283e0b5.png)
 3. サインアップ画面が表示されるので適切な内容を入力し、アカウントを作成します。  
   Planの設定は共同開発用のレポジトリを作成する場合は5 User Teamを作成します（リーダーのみ）。  
   チームのリーダー以外はPersonal accountを選択します。
 4. リーダーはアカウントを作成すると以下のようなページに遷移するので、チーム管理ボタンを押します。  
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/6ed9a20f-a4e1-73e0-d62a-1a7304d55d2a.png)  
 5. 初期設定として、AdministratorsとDevelopersという2つのグループができているので使わない方の  
  Developersを☓ボタンを押して削除します。  
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/1554938c-22c6-35d2-6595-c855f5705c3f.png)
 6. 次にAdministratorsをクリックし、メンバー管理画面に遷移します。管理画面でメンバーを追加します。  
 ※事前にメンバーにはBitbucketのアカウントを作成しておいてもらいましょう。 
 7. リーダーはメンバー追加が完了したらチーム管理TOP画面に戻り、開発に使うレポジトリ作成を行います。
 ![image](https://qiita-image-store.s3.amazonaws.com/0/93944/604d453a-165d-68cb-dcb8-b02b7bcd3283.png)  
 8. リポジトリの内容を記入し、リポジトリの作成を行います。  
 「これは非公開リポジトリです」に必ずチェックを入れてください。リポジトリタイプはGitを選択します。  
　プロジェクト管理は該当の機能を使う場合であれば、それぞれにチェックを入れます。  
　HipChatの欄も同様です。
 9. これでBitbucket側の設定は完了です。

## Sourcetreeについて
SourcetreeはGitを使う上でとても便利なツールです。
Bitbucketと同じくAtlassianが提供しているものであるため親和性も高いです。

■Sourcetreeのインストールと初期設定について
http://www.karakaram.com/windows-git-source-tree#good

## Sourcetreeにクローン（リーダー）
Sourcetreeの設定が完了したら、リーダーが作成したリポジトリをローカル環境に落とすために、
Sourcetreeにクローンを行います。

1. Bitbucketのページにアクセスします。
2. 「Sourcetreeにクローン」ボタンをクリックします。
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/73abfc9a-91c6-2ba6-203d-4bd55ddb7042.png)
3. 「Sourcetreeにクローン」を押すとSourcetreeが起動するので、どこに開発フォルダを作成するか指定します。
4. Unityを起動し、新しいプロジェクトを3で作成したフォルダのところに作成します。
5. 次に、[メニュー] -> [Edit] -> [Project Settings] -> [Editor] を開いて下記設定を変更します。
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/26dbcac7-8a4e-9aac-abe5-75ce4a02b8dc.png)  
6. Sceneを1つ作成し、プロジェクトを閉じます。
7. Sourcetreeを起動し、[設定] -> [詳細]タブを選択し、ユーザー情報のフルネーム、メールアドレスを入力します。このユーザー情報は、共同開発する際の「誰が該当箇所を編集したか」の確認に使用します。
8. 次に、同画面内にある「リポジトリ固有の無視リスト」の編集ボタンをクリックします。  
下記内容を追記し、git管理しない対象を指定します。

```無視リストに追加する項目.txt
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
# Autogenerated VS/MD solution and project files
/*.csproj
/*.unityproj
/*.sln
/*.suo
/*.user
/*.userprefs
/*.pidb
/*.booproj
```

無視リストが完成したら、その後データをコミットおよびプッシュします。
これでリーダーの初期設定は完了です。


## Sourcetreeにクローン（メンバー）
メンバーはリーダーがあらかじめ作ってくれたリポジトリをローカルに落とすだけです。

1. Bitbucketのページにアクセスします。
2. 「Sourcetreeにクローン」ボタンをクリックします。  
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/aefc4ab7-d835-5928-2bf7-83dfe469a409.png)



## Sourcetreeの基本的な使い方
http://naichilab.blogspot.jp/2014/01/gitsourcetreegit.html

- 基本的な用語  
  - コミット  
   自身のローカル上で行った追加、修正、削除を確定させるためのボタン。
  - プッシュ  
   コミットした内容をサーバー上へアップするためのボタン。  
他の誰が先にプッシュしていた（プルデータがある）場合、先にプルをしてからプッシュを行う。
  - プル  
 他の誰かがプッシュしたデータを自身のローカル環境に適用するためのボタン。


## 複数人で開発する時に注意すること
- 全員が同じバージョンのUnityを使用する
- 複数人で同じシーンを編集しない
- メタファイルも必ず一緒にコミットする
- 自分が修正や追加や削除などを行ったもの以外はプッシュしない
- エクスプローラー上でファイル・フォルダの移動、削除、改名は行わない（Unity上で必ず行う）
- Build Settingsは始めに全員同じ設定にしておく
- 競合が発生したり、よくわからない時はGitに詳しい人に聞く。  
適当にプッシュしていると、メンバー全員のデータ管理がおかしくなります。

## 便利ツール
- チャットワーク　http://www.chatwork.com/ja/
- Slack　https://slack.com/
- マインドマッピング　https://www.mindmeister.com/ja
- スプレットシート　https://www.google.com/intl/ja_jp/sheets/about/

## その他
- Unity開発者が複数人で開発を進める上で覚えておくと幸せになる９つの事  
http://tsubakit1.hateblo.jp/entry/20140613/1402670011
- 【Unity】数名で一つのSceneやPrefabを編集しスマートにマージする  
http://tsubakit1.hateblo.jp/entry/2015/05/14/040852
- 複数人で1つのUnityプロジェクトを管理するには  
http://thinkit.co.jp/story/2015/09/02/6362