コンテンツにスキップ
GitTree
マージと解決

マージ競合を解決する

両方のブランチが同じ行を変更すると、競合が発生します。 GitTree のリゾルバーには、A と B の 2 つのバージョンが並べて表示されます。各競合を保持する行にチェックを入れ、Output、次に Save をチェックして、マージ、リベース、またはチェリーピックを続行します。

無料更新されました

GitTree で動作します 無料: サインインすると、すべてのローカル Git 機能が利用できます。

このページでは
  1. 始める前に
  2. どこで見つけられますか
  3. ステップ
  4. 期待される結果
  5. より迅速に解決する方法
  6. 何か問題が発生した場合
  7. 質問
  8. 関連している

始める前に

  • マージ、リベース、チェリーピック、またはリバートが競合で停止しました。バナーにその旨が表示され、それらがカウントされます。

どこで見つけられますか

  • グラフの上のバナー: Resolve。
  • 変更パネルでは、競合したファイルが最初にリストされます。どれかを選択して開きます。
アクションmacOSWindowsとLinux
ファイル内の次の変更F7F7
ファイル内の以前の変更⇧F7Shift+F7

ステップ

  1. 競合したファイルを開く

    バナーで Resolve を選択します。リゾルバーは、最初の競合ファイルを開きます。競合の数とその上にある 0 of 2 conflicts resolved が表示されます。

    QuickOpen.tsx を使用した GitTree 競合リゾルバー: 開発 (A) と機能/検索 (B) の間の 2 つの競合と以下の出力
    それぞれの側でコミットとブランチに名前を付けます。以下の出力は、ファイルに含まれる内容を示しています。GitTree はデモ リポジトリとのインターフェイスです。
  2. それぞれの対立を決定する

    Conflict 1 については、A、B、またはその両方に保持する行にチェックを入れます。 Keeps 1 of 1 lines は選択を確認します。何かが決定されるとすぐに、競合は解決済みとしてマークされます。 Take Neither はどれも保持しません。

  3. 出力を確認する

    Output ペインには、保存されるファイルが表示されます。また、未決定のすべての競合に関するメモと、そこにジャンプするための Go to Conflict が表示されます。手動で修正を入力するには Edit Output を使用し、共通の祖先を確認するには Show Base を使用します。

  4. 保存して続行

    Save を押してファイルを書き込み、解決済みとしてマークします。すべてのファイルが解決されたら、バナーで Continue を選択して操作を終了します。

期待される結果

マージ (またはリベース ステップ) が解決策で完了し、バナーが表示されなくなります。

より迅速に解決する方法

  • ヘッダーの A または B の横のボックスは、その側からのファイルのすべての競合を取得します。
  • Undo Choice と Redo Choice は、ファイルには触れずに決定を進めます。
  • Open in Merge Tool は、Git 構成に設定されている外部マージ ツールにファイルを渡します。
  • rerere をオンにすると、Git は以前に同じ競合を解決した方法を再利用します。 GitTree には Reused resolution と表示され、それを確認できます。

何か問題が発生した場合

「結果にはまだ…競合マーカー行が残っています。削除するまで保存できません。」

出力を手動で編集したため、<<<<<<< や >>>>>>> などの行が残っています。それを削除するか、代わりにボックスとの競合を決定します。

「このファイルは、解決中にディスク上で変更されました。」

別のプログラムがファイルに書き込みました。 GitTree は以前の選択を保持します。今すぐファイルと比較するか、出力として使用するか、破棄します。

質問

どちら側が私のものですか?

マージ中、A は現在のブランチ、B はマージされるブランチです。各ヘッダーにはコミットとブランチの名前が付けられます。リベース中に、これらは交換されます: A はリベース先のブランチ、B はリプレイされるコミットです。