テストとフローを異なる複数のブランチで協力して作業を行う際には、誤って上書きしてしまうのを避けるため、競合を安全に解決し、ブランチをマージする方法を理解しておくことが重要です。
この記事では、mablでブランチを管理する方法を説明します。内容は次のとおりです。
競合の解決
テストブランチをmasterにマージする前に、[ブランチの詳細] ビューを開き、マージの競合が存在しないことを確認します。
[ブランチの詳細] ビュー
[ブランチの詳細] ビューには、ブランチのテストとフローのサマリーが表示されます。テストまたはフローの [Conflicts] 列に赤い感嘆符アイコンが表示されている場合は、テストブランチで最後のバージョンを保存した後に、誰かがmasterブランチでテストまたはフローを更新しています。
これらの競合を解決せずにブランチをマージすると、そのテストバージョンによってmasterバージョンが上書きされます。競合を安全に解決するには、赤い感嘆符アイコンをクリックして、競合の解決ビューを開きます。
制限事項
APIテストでは競合の解決はサポートされていません。
競合の解決ビュー
競合の解決ビューには、以下のセクションを含む3列のテーブルが表示されます。
- masterバージョン: テストブランチに存在しないステップが赤で表示されます。
- 新しいバージョン: マージする前にテストブランチに保存する新しいバージョンを作成するためのスペースです。
- テストブランチバージョン: masterブランチに存在しないステップが緑で表示されます。
白で表示されるステップはmasterとテストブランチのバージョンに存在し、変更できません。
新しいバージョンの作成
新しいバージョンを作成するには、矢印をクリックして、ステップとフローを新しいバージョンの列に移動します。
データ駆動型変数とフローパラメーターに競合が存在する場合、競合の解決ビューには、新しいバージョンで使用する変数や値を選択するためのオプションも表示されます。
新しいバージョンのプレビュー
新しいバージョン用に選択したステップ、変数、パラメーターに問題がなければ、[Preview] をクリックして、最終バージョンを確認します。必要な場合は、前の編集ページに戻って、変更を加えることができます。
何も問題がなければ、[保存] をクリックすると、新しいバージョンがテストブランチに保存されます。
ブランチのマージ
ブランチをmasterにマージするには、[ブランチの詳細] ページの [Merge] ボタンをクリックします。
マージの競合の警告が表示される場合は、テストブランチで最後のバージョンを保存した後に、誰かがmasterブランチでテストまたはフローを更新したことを示しています。
- これらの問題を解決し、意図しない上書きを回避するには、[キャンセル] をクリックして、競合の解決の手順を実行します。
- マージを続行してmasterバージョンを上書きする場合は、[とりあえずマージします] をクリックします。
マージの競合の警告
一度ブランチをマージすると、ブランチを開いたり、マージしたブランチに対してテストを実行したりすることはできません。特定のテストまたはフローを元のバージョンに戻す必要がある場合は、マージの取り消しに関するセクションに記載された手順を実行します。
マージに関する制限事項
マージには次のような違いや制限事項があることに注意してください。
- mablデスクトップアプリケーションは、テストブランチからmasterブランチへのマージのみをサポートしています。デスクトップアプリケーションで別のテストブランチに変更内容をマージすることはできません。
- mabl CLIは、テストブランチから任意のブランチへのマージをサポートしています。ただし、デスクトップアプリケーションと異なり、mabl CLIではマージの競合の確認は行われません。マージの競合が存在する場合、mabl CLIはマージ先のブランチでバージョンを上書きします。
マージの取り消し
テストまたはフローのマージ後のバージョンが意図しない結果に終わる場合があります。前のバージョンでテストとフローのすべてを開くことができない場合は、次の手順を実行して、テストまたはフローを以前のバージョンに復元することができます。
- 復元するテストまたはフローの [Details] ページに移動します。
- [Change History] タブをクリックします。
- 復元するバージョンを選択します。
- [Save as latest version] ボタンをクリックします。
この操作によって、目的のバージョンと同じ情報を含むテストまたはフローの新しいバージョンを効率よく作成できます。このプロセスは、復元するマージしたテストおよびフローごとに、別々に実行する必要があります。
ブランチの削除
ブランチはmasterにマージした後も、[ブランチ] ページに引き続き表示されます。ブランチを削除するには、ブランチの横のゴミ箱アイコンをクリックします。
削除したブランチを復元することはできません。