LemonTree Git, Subversion操作方法
ここでは、LemonTreeを利用したGit、Subversion(SVN)の操作方法についてご紹介します。
※LemonTreeを使ったGitFlowにつきましては、開発元サイト(英語)をご覧ください。
※Gitリボジトリの肥大化対策の一例につきましては、こちらをご覧ください。
[Git] EAでコミット
LemonTree EA Addinを利用して、EAでGit操作をすることができます。
(アドインはLemonTreeインストーラに同梱されています)
Git Clientでローカルリポジトリ、リモートリポジトリが設定されていれば、LemonTree EA Addinはその設定を利用して、EAからGit操作をすることができます。
LemonTree EA Addinは、EAの「トレーサビリティマップアドイン」「拡張マトリックスアドイン」「Excel出力アドイン」が動作しなくなるという既知の問題があります。そのため、これらのアドインの同時利用をご希望のお客様は、問題回避用アドインを配布しますのでサポートまでご連絡ください。
以下、複数人でモデルを同時編集したケースを例に、Git操作をご説明します。
コミットとプッシュをするため、LemonTree EA Addinで「Git Commit and Push」を選択します。
モデルを保存するため「Yes」をクリックします。
コミットのコメントを入力します。
他者がモデルを更新していてプッシュできないため、「Pull」をクリックします。
LemonTreeでマージするため「Continue」をクリックします。
LemonTreeでモデル上の差分を確認しています。
<モデル上の競合がない場合>
自動でマージが完了します。
<モデル上の競合がある場合>
LemonTreeが起動して差分表示されます。
マージ内容を調整し「Start Merge」でマージして、LemonTreeを終了します。
モデルのマージができたので、コミットとプッシュをするために
「Commit and Push」をクリックします。
コミットのコメントを入力します。
コミットとプッシュが完了しました。
[Git] Gitクライアントでコミット
複数人でモデルを同時編集したケースを例に、Git操作をご説明します。
EAPX/QEAXファイルを選択してGitプッシュ時に競合が発生すると
下記画面となりますので「プル」をクリックします。
「競合の解決」をクリックします。
競合しているファイル名をダブルクリックします。(LemonTreeがモデルのマージを実行します)
※ダブルクリックせずに「OK」をクリックしてしまうと、モデルのマージは実行されず、
ローカルのモデルでコミットとなりますのでご注意ください。
LemonTreeがモデル上の差分を確認します。
<モデル上の競合がない場合>
自動でマージが完了します。
※自動マージは行わず、常にLemonTreeの差分画面を表示したい場合はこちらをご覧ください。
<モデル上の競合がある場合>
LemonTreeが起動して差分表示されます。
マージ内容を調整し「Start Merge」でマージして、LemonTreeを終了します。
モデル上の競合を解決したので、「OK」をクリックします。
「コミット...」をクリックします。
コミットしてプッシュします。
[Git] ブランチ間の比較
EAPX/QEAXファイルのコンテキストメニュー > TortoiseGit > リビジョングラフ を選択します。
比較したいブランチを2個選択し、コンテキストメニュー > リビジョンの比較 を選択します。
画面下段に表示されいてるEAPX/QEAXファイルをダブルクリックします。
→LemonTreeが起動してブランチ間の差分が表示されます。
[Git] 自動マージの停止
自動マージは行わず、常にLemonTreeの比較画面を表示することもできます。設定手順は以下のとおりです。
TortoiseGitの設定画面で、差分ビューアー > マージツール を選択して「高度な設定」クリックをします。
バージョン管理しているEAの拡張子を選択して「編集」をクリックします。
(拡張子ごとに行なう必要があります)
外部プログラムの「--merge=auto」を「--merge=visual」に書き換えて「OK」をクリックします。
[SVN] コミット
複数人でモデルを同時編集してコミット時に競合が発生したケースを例に、SVN操作をご説明します。
コミット時に競合が発生すると下記画面となりますので「OK」をクリックします。
「更新」をクリックします。
競合の行をダブルクリックします。(LemonTreeがモデルのマージを実行します)
LemonTreeがモデル上の差分を確認します。
<モデル上の競合がない場合>
自動でマージが完了します。
<モデル上の競合がある場合>
LemonTreeが起動して差分表示されます。
マージ内容を調整し「Start Merge」でマージして、LemonTreeを終了します。
モデル上の競合を解決したので、競合の行のコンテキストメニューより「解決済みとみなす」を選択します。
コミットして完了です。
[SVN] ブランチ間の比較
EAPX/QEAXファイルのコンテキストメニュー > TortoiseSVN > リビジョングラフ を選択します。
比較したいブランチを2個選択し、コンテキストメニュー > リビジョンの比較 を選択します。
→LemonTreeが起動してブランチ間の差分が表示されます。