What is source code management?

Source code management (SCM) is the process of tracking modifications and managing changes to source code. SCM allows developers and other stakeholders to see a complete history of all changes made to a shared codebase. This ensures developers are working with up-to-date code and that there are no conflicting code changes.

Understand source code management

Source code management helps you and your team to work quickly and collaborate efficiently within your DevOps workflow. Learn all you need to know about source code management tools, when to use them, and how they work.

ソースコード管理

詳説・ソースコード管理

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

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

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

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

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

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

ソースコード管理ツール

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

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

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

ソースコード管理ツールが重要である理由

There are many reasons to implement source code management as part of the game development process. The most obvious is having greater control over your project. Effective source code management software empowers everyone, regardless of technical expertise, to work on their own parts of a project independently, while also making it easy to undo any changes that unintentionally break the source code. This is achieved through branching. 

A source code management tool that supports branching gives programmers the ability to isolate their own files from the main project (called the “trunk”) and test changes and updates on a separate “branch.” Once the changes are confirmed to be stable, they can then be merged back into the trunk.

Generally, source code management tools store information in the cloud or a distributed server, improving collaboration across time zones and geographies. These solutions also make it easier to work with larger project files, especially if they use file-based workflows. A file-based workflow allows team members such as artists to make changes to individual project files without downloading the entire project – a huge timesaver.

Unity's source code management solutions give you all of the benefits listed here. It is flexible and easy to use for programmers and artists, supports large repos and binary files, and works using a file-based workflow. Unity source code management can support thousands of branches concurrently and is the only version control that offers visual branching.

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

バージョン管理の力を活用する

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

妥協することなく制作

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

類似のリソース

バージョン管理システムとその他 DevOps ツールやプロセスについて学べるさまざまなリソースが見つかります。

DevOps ライフサイクル

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

DevOps の原則

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

DevOps を採用するメリット

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

ソースコード管理ソフトウェアの使用を開始する

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

弊社のウェブサイトは最善のユーザー体験をお届けするためにクッキーを使用しています。詳細については、クッキーポリシーのページをご覧ください。

OK