マージ競合を解決する
両方のブランチが同じ行を変更すると、競合が発生します。 GitTree のリゾルバーには、A と B の 2 つのバージョンが並べて表示されます。各競合を保持する行にチェックを入れ、Output、次に Save をチェックして、マージ、リベース、またはチェリーピックを続行します。
GitTree で動作します 無料: サインインすると、すべてのローカル Git 機能が利用できます。
始める前に
- マージ、リベース、チェリーピック、またはリバートが競合で停止しました。バナーにその旨が表示され、それらがカウントされます。
どこで見つけられますか
- グラフの上のバナー: Resolve。
- 変更パネルでは、競合したファイルが最初にリストされます。どれかを選択して開きます。
| アクション | macOS | WindowsとLinux |
|---|---|---|
| ファイル内の次の変更 | F7 | F7 |
| ファイル内の以前の変更 | ⇧F7 | Shift+F7 |
ステップ
それぞれの対立を決定する
Conflict 1 については、A、B、またはその両方に保持する行にチェックを入れます。 Keeps 1 of 1 lines は選択を確認します。何かが決定されるとすぐに、競合は解決済みとしてマークされます。 Take Neither はどれも保持しません。
出力を確認する
Output ペインには、保存されるファイルが表示されます。また、未決定のすべての競合に関するメモと、そこにジャンプするための Go to Conflict が表示されます。手動で修正を入力するには Edit Output を使用し、共通の祖先を確認するには Show Base を使用します。
保存して続行
Save を押してファイルを書き込み、解決済みとしてマークします。すべてのファイルが解決されたら、バナーで Continue を選択して操作を終了します。
期待される結果
マージ (またはリベース ステップ) が解決策で完了し、バナーが表示されなくなります。
より迅速に解決する方法
- ヘッダーの A または B の横のボックスは、その側からのファイルのすべての競合を取得します。
- Undo Choice と Redo Choice は、ファイルには触れずに決定を進めます。
- Open in Merge Tool は、Git 構成に設定されている外部マージ ツールにファイルを渡します。
rerereをオンにすると、Git は以前に同じ競合を解決した方法を再利用します。 GitTree には Reused resolution と表示され、それを確認できます。
何か問題が発生した場合
「結果にはまだ…競合マーカー行が残っています。削除するまで保存できません。」
出力を手動で編集したため、<<<<<<< や >>>>>>> などの行が残っています。それを削除するか、代わりにボックスとの競合を決定します。
「このファイルは、解決中にディスク上で変更されました。」
別のプログラムがファイルに書き込みました。 GitTree は以前の選択を保持します。今すぐファイルと比較するか、出力として使用するか、破棄します。
質問
どちら側が私のものですか?
マージ中、A は現在のブランチ、B はマージされるブランチです。各ヘッダーにはコミットとブランチの名前が付けられます。リベース中に、これらは交換されます: A はリベース先のブランチ、B はリプレイされるコミットです。
