【Unity】GitHubを使ったチーム開発(要約)

この資料は、Unityを使ったチーム開発におけるGitHubの活用方法と、効率的な開発フローについてのガイドラインを提供しています。

詳細資料

この資料は、次の資料の要約版です


決め事と意識合わせ

コーディング前の意識合わせ

  • チーム内で十分な意識合わせを行う。
  • アイデアや設計の途中経過も記録し、共有する。

プロジェクト管理スタイル

  • チーム全員が統一した管理方法を使用する。
  • 開発フローとして「GitHub Flow」を採用する。

Unity開発でのGitコンフリクトの主な原因と対策

シーンファイルやPrefabファイルの編集

  • 原因: 複数人が同じファイルを同時に編集。
  • 対策: 編集担当者を明確化し、ファイルを細分化して管理。

プロジェクト設定ファイル(.metaファイルなど)

  • 原因: リソースの追加や変更による競合。
  • 対策: 頻繁にプッシュとプルを行い、他の開発者と同期を保つ。

バイナリファイルの編集

  • 原因: バイナリファイルはマージが困難。
  • 対策: 編集担当者を決め、Git LFSを使用して管理。

.gitignoreの設定不足

  • 原因: 不要なファイルがGitで管理され、競合を引き起こす。
  • 対策: Unity専用の.gitignoreテンプレートを使用して設定。

テキストファイルの行末コードの違い

  • 原因: 異なるOS間での行末コードの差異。
  • 対策: .gitattributesファイルを使用して統一する。

開発環境の準備

バージョンの統一

  • Unityエンジン、パッケージ、エディタのバージョンをチームで統一。

必要なツールのインストール(各自)

  • GitHubアカウントの作成
  • GitHub Desktopのインストール
  • Visual Studio Codeのインストール
  • Gitのインストール

プロジェクトごとの作業

リーダーの役割

  • 新規プロジェクトの作成
  • リポジトリの作成とGitHubへの公開
  • メンバーのコラボレーター登録

メンバーの役割

  • 招待メールの承認
  • リポジトリをクローンしてローカル環境にコピー

開発作業の流れ

Issueの作成

  • 課題やタスクを明確化。

ブランチの作成

  • 各Issueに対応するブランチを作成。

コーディング

  • ブランチ上で開発を進める。

コミットとプッシュ

  • 変更をコミットし、リモートリポジトリにプッシュ。

プルリクエストの作成

  • コードレビューとマージを依頼。

レビューとマージ(承認者)

  • コードをレビューし、問題なければマージ。
  • 必要に応じてフィードバックを提供。

ブランチの削除(担当者)

  • マージ後、不要になったブランチを削除。

競合(コンフリクト)の解消

コンフリクトの原因

  • 同じファイルやコード行を複数人が編集。

解消方法

  • エディタ(Visual Studio Codeなど)で競合箇所を手動で解決。
  • mainブランチの最新変更を取り込み、競合を解消して再度プッシュ。

プロジェクト完成後

リリース作業

  • 実行可能ファイルのビルド。
  • リリース情報の作成。
  • GitHubでのリリース手続き。

バージョン番号の付け方

  • メジャー.マイナー.パッチの形式を採用。
  • バージョン管理のルールをチームで決定。

チーム開発のコツ

役割分担

  • タスクを明確に分け、担当者を決定。

コミットメッセージの書き方

  • プレフィックスを使用(例: add, update, fix, remove)。
  • Issue番号を含めて、何をしたのか明確に記述。

効率的なタスク管理

  • GitHub ProjectsやIssueを活用して進捗管理。
  • 定期的なコミュニケーションと情報共有を行う。

参考資料と追加情報

  • GitHub公式ドキュメント: GitHubの機能や使い方を詳しく解説。
  • UnityとGitHubの連携: Unity特有のファイル管理やGit設定についての知識。
  • チーム開発のベストプラクティス: 大規模プロジェクトでもコードを整理し、安定した開発を行う方法。