バージョン管理

Devinによるバージョン管理の紹介

バージョン管理の本質

バージョン管理の本質は、ソフトウェアコードの変更を追跡し、管理するプラクティスです。これは現代のソフトウェア開発における基盤となる要素であり、チームがプロジェクトの進化を記録し、必要に応じて以前の状態に戻すことを可能にし、より効果的にコラボレーションできるようにします。バージョン管理の重要性は単なる変更追跡にとどまらず、実験が奨励される環境を育み、望ましくない変更があったとしても元に戻せるという安心感を提供します。これは、複雑さの管理、信頼性の確保、そして開発チーム内でのコラボレーションを円滑にするために非常に重要です。

なぜバージョン管理が重要なのか

  • 履歴と責任: 誰がいつどのような変更を行ったかの履歴を保持し、開発プロセスに責任と透明性を追加します。

  • コラボレーション: 複数の開発者が個別または共有の開発ファイルで作業することを可能にします。

  • リスク軽減: 以前のバージョンに迅速に戻る機能を提供し、開発における中断や重大な後退のリスクを軽減します。

Devinのバージョン管理に対するアプローチ

Claris FileMakerにおけるバージョン管理の従来の課題を理解した上で、Devinはバージョンやブランチの管理をシンプルかつ直感的に行えるシステムを導入しています。

ブランチ

Devinにおけるブランチは、開発ファイルの分離されたコピーとして機能し、<ファイル名>_<ブランチ>.fmp12という形式で名前が付けられます。各プロジェクトにはデフォルトのブランチがあり、これを「main」と呼びます。基本的な考え方としては、メインファイルに直接変更を加えるのではなく、異なる目的に応じて新しいブランチを作成します。たとえば、開発用のブランチは「dev」と呼ぶことができます。

そして、開発用ファイル(devファイル)が安定して十分にテストされたと感じた場合(参照)、それをmain(または別のブランチ)にリリースすることができます。こうすることで、mainは常に最新の安定した開発ファイルのバージョンを表すようになります。

プロジェクトワークスペースのモジュールタブでは、開発者はプロジェクトに含まれるすべてのファイルの概要を見ることができます。ファイルをクリックすると、すべてのチームメンバーによって実行されたブランチ、バージョン、リリース履歴の視覚的なグラフが表示されます。

開発ファイルをプロジェクトに追加すると(「.fmp12ファイルをプロジェクトに追加する」を参照)、そのファイルのコピーが自動的にメインブランチに配置され、_main.fmp12という名前が付けられます。ブランチ名の付いていない元の開発ファイルはDevinによって使用されず、手動で削除することができます。

バージョン

Devinは、ブランチ化されたfmp12ファイルを開発の各段階でスナップショットとして保存することで、バージョン管理を行います。これらのスナップショットはgitのコミットに相当しますが、クローンまたはブランチ化されたファイルの完全なバックアップとして機能します。このスナップショットは、ファイルの安定した段階の重要なマイルストーンやバックアップとして機能し、簡単にバックアップを保存したり、進捗を記録したり、必要に応じて以前のバージョンに戻すことができるように設計されています。

プロジェクトワークスペースのブランチビューでは、選択されたブランチのすべてのバージョンが表示されます。

リリース

Devinのリリースプロセスは、任意のブランチから他のブランチに変更を統合するための方法を提供します。他の開発エコシステムで一般的な、複数のブランチのコード変更を統合する伝統的なマージ(gitなどで行われるもの)は、Clarisテクノロジーの制約によりFileMakerでは現在のところ実現できません。その代わりに、Devinのリリース機能は、ソースブランチのファイルでターゲットブランチのファイルを単純に置き換えるという仕組みになっています。

ブランチビューでバージョンを選択すると、スナップショットに関する詳細情報が表示されるサイドバーが開き、バージョンを別のブランチにリリースするなどの操作を行うためのボタンが表示されます。

このアプローチはまだブランチのマージをサポートしておらず、並行して複数のブランチで作業するという概念も実現できませんが、Clarisテクノロジーが対応次第、これらの機能を強化していくことをお約束します。これらの機能が実装されるまでは、プロジェクトの中心的な情報源として主要な開発ブランチを指定し、テストや実験など一時的な用途には他のブランチを使用することをお勧めします。

最終更新