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