LemonTree Git運用

ここでは、Git運用やバージョン管理システムの連携についてご紹介します。

 ※Git, Subversionの操作例につきましては、こちらをご覧ください。
 ※LemonTreeを使ったGitFlowにつきましては、開発元サイト(英語)をご覧ください。
 ※Gitリボジトリの肥大化対策の一例につきましては、こちらをご覧ください。

Git運用の実現

複数人の設計者で並行作業でモデルを作成する場合、モデルの同時編集やマージが頻発します。このような分散開発において 利用されるバージョン管理システムの一つに Git がありますが、Enterprise Architect とは設計思想が異なるために Enterprise Architectの標準機能ではGitと連携することができません。 LemonTreeはTortoiseGitやGitFlowと連携できますので、EAPX/QEAXファイルを対象にしてGit運用を実現することができます。 ここでは、LemonTreeによるGitの利用例をご紹介します。



機能別に複数の担当者が設計する場合、機能のモデルを設計して製品全体のモデルにマージする作業が発生します。 たとえば機能Bのモデルを設計して製品全体のモデルにマージ(Gitでプッシュ)するとき、共通部品や機能Aが変更 されていることがあります。そのようなときにLemonTreeが自動で差分比較するので機能B以外の変更も正確に把握し、 適切かつ効率的にマージを行なうことができます。




仕向けごとに製品設計が異なる場合、共通部分と製品ごとの個別部分について並行作業で設計を行なうことがあります。 このようなケースでは、たとえば日本向け製品を設計中に共通部品の変更があると、共通部品の最新情報を設計中の 日本向け製品に取り込む(マージする)ことがあります。このとき、 LemonTreeで差分比較すると共通部品の変更内容を 正確に把握し、設計中の日本向け製品への影響を確認した上で、適切にマージを行なうことができます。



LemonTreeを使ったGitFlowにつきましては、開発元サイト(英語)をご覧ください。

バージョン管理ツールとの連携

バージョン管理ツール(Git, Subversionなど)との連携により、ソースコードをコミットするような感覚で、競合を解消し、バージョン管理を行うことができます。また、EAPX/QEAXをバージョン管理の対象とするため、たとえばEAのバージョン管理機能でパッケージのロック等は必要なく、同時編集が可能となります。

Gitにおける操作例を以下にご紹介します。


バージョン管理ツールとの連携動作としては、Gitでプッシュ時に競合が発生した場合、「競合の解決」画面で競合しているファイル名をダブルクリックするとLemonTreeが自動で差分比較します。モデル上で競合がなければ、LemonTree が自動でマージを完了します。モデル上で競合があれば、自動で表示される LemonTree画面上で競合を確認しマージすることができるので、効率的にマージを行なうことができます。



過去モデルの比較においてもGitの操作でLemonTreeが自動起動し、差分を簡単かつ明確に把握することができます。


Git, Subversionの操作例につきましては、こちらをご覧ください。