ソースコード管理について理解を深める
ソースコード管理は、皆さんとチームが DevOps ワークフロー内での作業をスピードアップし、共同作業を効率化するのに役立ちます。使用するタイミングやしくみなど、ソースコード管理ツールについて知っておくべきすべてのことについて説明します。

詳説・ソースコード管理
ソースコード管理(SCM)システムとは、チームのコラボレーションを支援し、取り組んでいるプロジェクトのソースコードのリポジトリに変更を加えるためのツールのことです。それらのツールは、コードリポジトリに対する変更を経時的に追跡することで機能します。
ソースコード管理システムを使用しているチームは、同じプロジェクトに同時に取り組むことができます。個々の変更と更新は「コミット」の形式でソースコードリポジトリに追加でき、コミットによりすべての変更と更新が 1 つにグループ化されます。1 つのコミットにグループ化された変更は、個々に確認して更新することも、そのグループ全体の変更を元に戻すこともできます。コミット内の全履歴にアクセスできることで、バグを特定したり、以前に削除された機能を復元したりを簡単に行うことができます。
バージョン管理とは何か?
ソースコード管理はバージョン管理とも呼ばれ、チームが取り組んでいるプロジェクトのコードとアセットの更新を追跡して管理する方法のことです。ソースコード管理ツールは、プロジェクトのコードベースに貢献しているプログラマー、アーティスト、その他チームメンバーにとっての信頼できる情報源と考えることができます。
効果的なバージョン管理システムにより、チームはプロジェクトを定期的にバックアップし、マージの競合などの予期しないイベントが発生した際に以前のバージョンにロールバックすることができます。マージの競合は、2 つの別個の変更がソースコードに同時に追加され、バージョン管理システムがどちらをプロジェクトにマージするかを判断できないときに発生します。
バージョン管理は開発者のオペレーションの中核を成し、さまざまな関係者が連携して作業を進め、イテレーションにかかる時間を短縮し、質の高いプロジェクトをスケジュール通りに完成させるのを可能にします。
ソースコード管理ツール
チームにとって最適なソースコード管理ツールを探し出し、適切なタイミングで実装することが重要です。新しいソース管理ツールを導入する理想的なタイミングは、プロジェクトの開始時または終了時です。それらの実装は、チーム全体の既存のワークフローを作り替えなければならないことがあるため、困難である場合があります。プロジェクトが本格化している際にはなおさら困難です。
ソースコード管理用の新しいツールを検討する際にどこを見ればよいか疑問に感じていませんか?取り扱うファイルの種類やファイルのサイズ、チーム全体の技術レベル、コスト、セキュリティ要件、チームが必要としている柔軟性などの要素を考慮してください。
次に採用するバージョン管理ツールの評価方法については、Unity ブログで確認してください。
ソースコード管理ツールが重要である理由
ゲーム開発プロセスの一部にソースコード管理を組み込む理由はたくさんあります。最も明らかなのは、プロジェクトをより細かく管理するためです。効果的なソースコード管理ソフトウェアは、技術的な専門知識を問わず、全員が個々にプロジェクトの自分が取り組むべき仕事に取り組めるようになる一方で、ソースコードを意図せず壊してしまった場合にその変更を簡単に取り消すことができます。これは、ブランチングによって実現します。
ブランチングに対応するソースコード管理システムにより、プログラマーはメインプロジェクト(「トランク」と呼ばれます)から各自のファイルを分離し、別の「ブランチ」で変更をテストして更新することができます。変更の安定性を確認したら、それらの変更をトランクにマージバックすることができます。
通常、ソースコード管理ツールは情報をクラウドまたは分散サーバーに保存し、タイムゾーンや地理的地域を超えて簡単にコラボレーションできるようにします。また、それらのソリューションはファイルのサイズが大きいプロジェクトでも、特にファイルベースのワークフローを使用している場合に作業を容易にします。ファイルベースのワークフローにより、アーティストなどのチームメンバーがプロジェクト全体をダウンロードすることなく、個々のプロジェクトファイルに変更を加えることができるため、大幅な時間の節約につながります。
Unity のソースコード管理ソリューションなら、ここで挙げているすべてのメリットを享受できます。プログラマーやアーティストにとって使いやすく柔軟であり、サイズの大きなリポジトリやバイナリファイル、ファイルベースのワークフローに対応します。Unity のソースコード管理は、何千ものブランチを同時にサポートし、ビジュアルブランチングを提供する唯一のバージョン管理ツールです。
類似のリソース
バージョン管理システムとその他 DevOps ツールやプロセスについて学べるさまざまなリソースが見つかります。
DevOps ライフサイクル
DevOps の方法論を使用して手動タスクを自動化すると、ゲーム開発がより効率的になります。7 つのステップで構成される DevOps ライフサイクルを理解することから始めましょう。
DevOps の原則
すべてのゲームスタジオは、クランチ(過重労働)を減らしつつ制作をスピードアップしたいと考えており、DevOps はそれを実現するために最適な方法です。DevOps の方法論の背後にある重要な原則を学ぶことから始めましょう。
DevOps を採用するメリット
DevOps プラクティスを実装すると、開発パイプラインが合理化され、チームとユーザーの満足度を高めることができます。DevOps がどのように役立つかをご確認ください。