Hero background image

ソースコード管理とは何か?

ソースコード管理(SCM)とは、ソースコードに対する変更を追跡して管理するプロセスのことです。SCM を使用すると、開発者やその他ステークホルダーが、共有コードベースに加えられたすべての変更の完全な履歴を確認できます。これにより、開発者は最新のコードで作業をしていることと、コードの変更に競合がないことが保証されます。
ソースコード管理について

ソースコード管理について理解を深める

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

ソースコード管理、解説

ソースコード管理(SCM)システムとは、チームのコラボレーションを支援し、取り組んでいるプロジェクトのソースコードのリポジトリに変更を加えるためのツールのことです。それらのツールは、コードリポジトリに対する変更を経時的に追跡することで機能します。

ソースコード管理システムを使用しているチームは、同じプロジェクトに同時に取り組むことができます。個々の変更と更新は「コミット」の形式でソースコードリポジトリに追加でき、コミットによりすべての変更と更新が 1 つにグループ化されます。1 つのコミットにグループ化された変更は、個々に確認して更新することも、そのグループ全体の変更を元に戻すこともできます。コミット内の全履歴にアクセスできることで、バグを特定したり、以前に削除された機能を復元したりを簡単に行うことができます。

バージョン管理とは何か?

ソースコード管理はバージョン管理とも呼ばれ、チームが取り組んでいるプロジェクトのコードとアセットの更新を追跡して管理する方法のことです。ソースコード管理ツールは、プロジェクトのコードベースに貢献しているプログラマー、アーティスト、その他チームメンバーにとっての信頼できる情報源と考えることができます。

効果的なバージョン管理システムにより、チームはプロジェクトを定期的にバックアップし、マージの競合などの予期しないイベントが発生した際に以前のバージョンにロールバックすることができます。マージの競合は、2 つの別個の変更がソースコードに同時に追加され、バージョン管理システムがどちらをプロジェクトにマージするかを判断できないときに発生します。

バージョン管理は開発者のオペレーションの中核を成し、さまざまな関係者が連携して作業を進め、イテレーションにかかる時間を短縮し、質の高いプロジェクトをスケジュール通りに完成させるのを可能にします。

ソースコード管理ツール

チームにとって最適なソースコード管理ツールを探し出し、適切なタイミングで実装することが重要です。新しいソース管理ツールを導入する理想的なタイミングは、プロジェクトの開始時または終了時です。それらの実装は、チーム全体の既存のワークフローを作り替えなければならないことがあるため、困難である場合があります。プロジェクトが本格化している際にはなおさら困難です。

ソースコード管理用の新しいツールを検討する際にどこを見ればよいか疑問に感じていませんか?取り扱うファイルの種類やファイルのサイズ、チーム全体の技術レベル、コスト、セキュリティ要件、チームが必要としている柔軟性などの要素を考慮してください。

次に採用するバージョン管理ツールの評価方法については、Unity ブログで確認してください。

ソースコード管理ツールが重要な理由

ゲーム開発プロセスの一部にソースコード管理を組み込む理由はたくさんあります。最も明らかなのは、プロジェクトをより細かく管理するためです。効果的なソースコード管理ソフトウェアは、技術的な専門知識を問わず、全員が個々にプロジェクトの自分が取り組むべき仕事に取り組めるようになる一方で、ソースコードを意図せず壊してしまった場合にその変更を簡単に取り消すことができます。これは、ブランチングによって実現します。

ブランチングに対応するソースコード管理システムにより、プログラマーはメインプロジェクト(「トランク」と呼ばれます)から各自のファイルを分離し、別の「ブランチ」で変更をテストして更新することができます。変更の安定性を確認したら、それらの変更をトランクにマージバックすることができます。

通常、ソースコード管理ツールは情報をクラウドまたは分散サーバーに保存し、タイムゾーンや地理的地域を超えて簡単にコラボレーションできるようにします。また、それらのソリューションはファイルのサイズが大きいプロジェクトでも、特にファイルベースのワークフローを使用している場合に作業を容易にします。ファイルベースのワークフローにより、アーティストなどのチームメンバーがプロジェクト全体をダウンロードすることなく、個々のプロジェクトファイルに変更を加えることができるため、大幅な時間の節約につながります。

Unity のソースコード管理ソリューションなら、ここで挙げているすべてのメリットを享受できます。プログラマーやアーティストにとって使いやすく柔軟であり、サイズの大きなリポジトリやバイナリファイル、ファイルベースのワークフローに対応します。Unity のソースコード管理は、何千ものブランチを同時にサポートし、ビジュアルブランチングを提供する唯一のバージョン管理ツールです。

ソースコード管理のメリット

Version Controlのパワーを活用

バージョン管理はチーム全員に利便性をもたらし、ゲーム開発に最適です。優れた SCM ツールは、アーティストからプログラマーに至るまで、チーム全員がソースコードを壊してしまうことを心配することなく、それぞれが個々にプロジェクトに貢献できるようにします。

妥協することなく制作

Unity のプラットフォームから離れることなく、ブランチやマージを行い、チームメイトと同期し、プロジェクトの履歴を確認できます。強力なバージョン管理ツールのおかげで、集中力を切らすことなく、「制作」という重要なことを見失うことがなくなります。

類似のリソース

電球を組み込む
DevOpsのライフサイクル

DevOps の方法論を使用して手動タスクを自動化すると、ゲーム開発がより効率的になります。7 つのステップで構成される DevOps ライフサイクルを理解することから始めましょう。

電球を持つ手
devops の原則

すべてのゲームスタジオは、クランチ(過重労働)を減らしつつ制作をスピードアップしたいと考えており、DevOps はそれを実現するために最適な方法です。DevOps の方法論の背後にある重要な原則を学ぶことから始めましょう。

ダンベルを持つ手
DevOpsのメリット

DevOps プラクティスを実装すると、開発パイプラインが合理化され、チームとユーザーの満足度を高めることができます。DevOps がどのように役立つかをご確認ください。

プラスチックSCMコールアウト
ソースコード管理ソフトウェアを使い始める

分散型と集中型の両方の作業構造を使用し、ファイルと変更セットベースのワークフローの両方を使用してサイズの大きなバイナリファイルを簡単に管理します。セキュリティで保護された 1 つのプラットフォームにソースコードとアセットを格納し、プロジェクトに対するすべての変更を追跡します。あらゆるエンジンで動作しますが、Unity との連携により最高のパフォーマンスを発揮します。

プラスチックSCMの紹介

Plastic SCMによるVersion Controlの主な機能

Unity のソース管理ツール Plastic SCM が、どのようにしてチーム内でシームレスに動作し、大規模なプロジェクトで機能するよう最適化されているかをご覧ください。