テキストマージ
テキストマージ は、ファイルの 2 つのバージョンからの変更を 1 つの編集可能な結果にまとめます。
Git 連携 からマージを呼び出すか、3 つのテキストファイルをドロップするか、File ▸ Merge を選択してください。
レイアウト
この画面では、共通のベースファイルの2つの矛盾する変更を解決するよう求められます。
中央ペインは競合領域を黄色でハイライトし、空欄のままにします。 どの変更を採用するかを明示的に決めるか、独自の解決内容を入力してください。 元のベース版には、中央ペイン上部の青い Base ラベルをクリックするとアクセスできます。
3 方向マージの構造
これは標準的なGitの3方向マージモデルです。
- Local: あなたのバージョン(ベースの変更)
- Base: 共通の祖先
- Remote: 入ってくる競合する変更
Local → Base ← Remote
↓
Result
Result は唯一編集可能なファイルです。 Git からアプリケーションを呼び出す際、ユーザーがファイルを保存し (⌘S) してアプリケーションを終了すると、マージは完了とみなされます。
編集と移動
移動
| アクション | ショートカット |
|---|---|
| 前の行/次の行 | ↑ / ↓ |
| 前のペイン / 次のペイン | ← / → |
| 最初の行/最後の行へジャンプ | ⌘↑ / ⌘↓ |
| 前の変更 / 次の変更 | ⌥↑ / ⌥↓ |
| 前のハンク / 次のハンク | ⌥↑ / ⌥↓ |
| 別のペインに切り替える | ⇥ |
コピー
| アクション | ショートカット |
|---|---|
| 右にコピー | ⌘→ |
| 左にコピー | ⌘← |
| 選択範囲を拡張 | ⇧↑ / ⇧↓ |
| ハンク全体を右にコピー | ⇧⌘→ |
| ハンク全体を左にコピー | ⇧⌘← |
選択中の行は黄色の長方形で示されます。 Hunk は連続した競合 / 変更ブロックです。 コピー操作は、Result が変化し、かつ選択が実際の行にある場合にのみ有効です。
変更をコピーする
- 現在選択している行をコピーするには Copy を使います。
- 選択した行を含むブロック全体をコピーするには Copy entire hunk を使います。
- 選択した行で Solve with を使うには、行を右クリックするか、Edit ▸ Solve with メニューを使います。
すべてのコピー操作は ⌘Z で元に戻せます。
編集
| アクション | ショートカット |
|---|---|
| 選択した Result 行の編集を開始 | Return |
| Result 行を直接編集開始 | 行をダブルクリック |
| 確定して次の編集可能な行へ移動 | Return(編集中) |
| 確定して編集モードを終了 | Command-Return |
| 現在の行バッファを破棄して編集モードを終了 | Esc または Command-. |
行をダブルクリックして編集を始めることもできます。 すべての編集操作は ⌘Z で元に戻せます。
保存
File ▸ Save を選択するか、⌘S を押して結果ペインを保存してください。 他のファイルは読み取り専用です。
表示オプション
テキストマージは、比較の計算方法や表示方法を変更するオプションを提供します。 これらのオプションはオプションメニューからご利用いただけます。
- 無視パターン はノイズの多い差異を減らします。 無視パターン を参照してください。
- JSON 正規化 は、生の書式ではなく標準的な JSON 構造を比較します。
- 意味単位の行分割 のデフォルトは 設定 で構成され、このオプションメニューでは変更しません。
これらの設定はマッチングと可視化に影響し、ファイルを直接編集するものではありません。