KDiff3 の使い方 / テキストのマージ
- 概要 (必読)
- ダウンロード
- 日本語修正版のダウンロード
- インストール
- 日本語化
- KDiff3 の日本語メニュー
- KDiff3 の使い方
KDiff3 のテキスト マージの基本的な使い方です。
特徴
- 「KDiff3の使い方/テキスト比較」 を基本とした拡張機能
- マージ結果は記号( A , B , C , m )で判断しやすい
A : 1番目のファイル / 左のペイン
B : 2番目のファイル / 中央のペイン
C : 3番目のファイル / 右のペイン
m : 手入力した部分
補足
- マージ先で「やり直し (Ctrl + Z) 」機能が無い。
特に手入力した部分のやり直し(取り消し)が出来ない。
その時は、マージ操作を行うことで前の内容がキャンセルされる。 - マージ行以外も手修正できるが、これは完全に元に戻せない。
A , B , C ペインからコピーしてくるかの操作が必要になる。
▼ 1. KDiff3 を起動する。
▼ 2. マージするファイルを指定する。
マージするファイル「File… 」(ファイル…) を2つ指定し、
- 1つ目のファイル (Test-1.rc) : A
- 2つ目のファイル (Test-2.rc) : B
「 Merge 」チェックオンをして、「 Open 」 (開く) ボタンをクリック。
2つは A , B と名前が付けられる。
▼ 3. マージするファイルの状態を示した画面が以下のように表示される。
「OK」ボタンをクリック。
日本語なら、以下のように表示される。
※上記の意味の詳細は後で。
とにかく9箇所のマージを手作業でやる必要である事は確かです。
▼ 4. 以下の様な初期画面が表示される。
- A ペインと B ペインの最初の違う行が色で表示
- A と B のどちらをマージするかを下の画面では「Merge Conflict 」(マージ衝突) と表示
▼ 5. マージ操作 / 指定行のみマージ
- A ペインの行をマージする場合
- B ペインの行をマージする場合
▼ 6. マージ操作 / マージ位置の移動
テキスト比較 と同様の操作です。
- 異なる行の移動
- 下への移動 : Ctrl + [ ↓ (Down) キー]
- 上への移動 : Ctrl + [ ↑ (Up) キー]
- 衝突した行の移動
- 下への移動 : Ctrl + Page Down
- 上への移動 : Ctrl + Page Up
テキスト比較 を参照。
▼ 7. マージ操作 / 現在の位置
上記の「移動」でマージ画面のどの行にいるかは、右側の縦棒と行全体を色で反転させた表示に変わる。
▼ 8. マージ操作 / 残りの未処理の一括マージ
マージ処理を行ってない未処理の全ての行に一括でA又はBをマージさせることが出来ます
- 残りの未処理のマージを全て A とする場合
メニュー [Merge] -> [Choose A for All Unsolved Conflicts]
(未解決の衝突について常に A を選択)
- 残りの未処理のマージを全て B とする場合
メニュー [Merge] -> [Choose B for All Unsolved Conflicts]
(未解決の衝突について常に B を選択)
残りの未処理のマージを全て A とした場合、一括で A となる。
▼ 9. マージ操作 / 全てのマージ行を一括で強制マージ
マージ処理をした、してないに関係無く、全体を一括でどちらかで強制マージします。
- 全てのマージを A とする場合
メニュー [Merge] -> [Choose A Everywhere] (常に A を選択)
Ctrl + Shift + 1
- 全てのマージを B とする場合
メニュー [Merge] -> [Choose B Everywhere] (常に B を選択)
Ctrl + Shift + 2
▽ 9.1 マージ前
▽ 9.2 全てのマージを B とする。
メニュー [Merge] -> [Choose B Everywhere] (常に B を選択)
Ctrl + Shift + 2
▽ 9.3 以下の警告が表示されます。
「Continue」(続行) をクリック。
日本語表示なら
▽ 9.4 衝突(異なって) いる行は全て B に強制的になりました。
▼ 10. マージ結果を保存します。
「 unnamed.txt 」と表示されていますが、
最初にマージ出力ファイルを指定してないので
メニューで 「Save」(保存) を選択しても、「名前をつけて保存」と同じ扱いになります。
保存ダイアログが表示されるので、保存ファイルを指定して、「保存」ボタンをクリック。
備考
- マージ以外の部分を手修正すると m と表示されるが、ショートカットキーで元には戻せない。
A ペイン又は B ペインからコピーして貼り付けるしか手がない。 - 異なる部分をAとBから両方を取り込む事も出来る。
Ctrl + 1 の後に Ctrl + 2 を行えばイイ。
▼ 11. マージ元ファイルが3つになると動作が一部変わります。
- 3つ目のマージファイルは C ファイルになります。
- 3-way-merging (3ウェイマージ) をフルサポート。
KDiff3 を再起動するか、「Open」 (開く) ボタンをクリック。
▼ 12. マージする3つのファイルを指定します。
- A (Base) : 基本になるファイルを指定
- B : A を変更したファイルを指定
- C (Optional) : A を更に変更したファイルを指定
- 「Merge」 をチェックオン
- 「OK」 ボタンをクリック。
▼ 13. 入力したファイルのマージ解析結果が表示されます。
上記を日本語で表示すると、以下になります。
衝突の総計:310 Total number of conflicts
自動解決された衝突の数:304 Nr of automatically solved conflicts
未解決の衝突の数:6 Nr of unsolved conflicts
マージ時の規則に沿って自動解決したのが 310 の内 304。
未解決の 6 は手作業の処理になります。
▼ 14. 3ペインのマージ初期画面です。
左から A ペイン , B ペイン , C ペインです。
異なる部分と衝突して部分、そして自動解決出来なかった部分が色分けで表示されます。
下半分のマージ専用ペインです。
▼ 15. 自動で衝突を解決できなかった部分は ? 記号の「 Merge Conflick 」 (マージ衝突) と表示されます。
青の縦バーはカレント行を示します。
▼ 16. マージする時は
- A ペインの行をマージ : 「Ctrl + 1 」キー
- B ペインの行をマージ : 「Ctrl + 2 」キー
- C ペインの行をマージ : 「Ctrl + 3 」キー
▼ 17. 衝突した行の移動は
- 下への移動 : Ctrl + Page Down
- 上への移動 : Ctrl + Page Up
▼ 18. 残りの衝突した行を一括で処理する場合
マージ処理を行ってない未処理の全ての行に一括でマージさせることが出来ます。
- 残りの未処理のマージを全て A ペインとする時は
メニュー [Merge] -> [Choose A for All Unsolved Conflicts]
(未解決の衝突について常に A を選択)
- 残りの未処理のマージを全て B ペインとする時は
メニュー [Merge] -> [Choose B for All Unsolved Conflicts]
(未解決の衝突について常に B を選択)
- 残りの未処理のマージを全て C ペインとする時は
メニュー [Merge] -> [Choose C for All Unsolved Conflicts]
(未解決の衝突について常に C を選択)
▼ 19. 全ての衝突した行を一括で強制マージする場合
マージ処理をした、してないに関係無く、全体を一括で強制マージします。
- 全てのマージを A とする場合
メニュー [Merge] -> [Choose A Everywhere] (常に A を選択)
Ctrl + Shift + 1
- 全てのマージを B とする場合
メニュー [Merge] -> [Choose B Everywhere] (常に B を選択)
Ctrl + Shift + 2
- 全てのマージを C とする場合
メニュー [Merge] -> [Choose C Everywhere] (常に C を選択)
Ctrl + Shift + 3
▼ 20. 衝突した行のマージ修正方法
B ペインからマージしたのを C ペインへ修正する手順です。
- 該当する行へ移動
Ctrl + Pageup , Ctrl + PageDown - B ペインからマージしたのを取り消す
Ctrl + 2
左側の「 B 」表示が「 ? 」に変わる - C ペインからのマージ
Ctrl + 3
左側の「 ? 」表示が「 C 」に変わる
▼ 21. 上記以外のマージ操作
- Automatically Go to Next Unsolved Conflict After Souce Selection :
(ソース選択後に自動的に次の未解決の衝突に移動)
マージ操作をすると次の未解決の衝突した行に自動的に移動する。通常はデフォルトで選択された状態になる。解除したければ再度選択する。
- Automatically Solve Simple Conflicts :
(単純な衝突を自動的に解決)
衝突の自動的な解決をもう一度実行する。以前のマージ処理は破棄される。
- Set Deltas to Conflicts :
(異なる部分を衝突として設定)
自動的に解決されていた異なる部分も衝突として扱われる。「 ? 」表示に変わる。
- Run Regular Expression Auto Merge :
(正規表現による自動マージを実行)
設定のマージ・タブ参照
- Automatically Solve History Conflicts :
(履歴の衝突を自動的に解決)
バージョン管理履歴の自動マージもサポートされています。設定のマージ・タブで「マージ開始時にバージョン履歴をマージする」をチェックする必要があります。
※機能の詳細は不明。
- Split Diff At Selection :
(選択した差異を分離)
※機能の詳細は不明。
- Join Selected Diffs :
(選択した差異を統合)
※機能の詳細は不明。
- Merge Current File :
(現在のファイルをマージ)
マージ・ペインを閉じます。再度選択するとマージ・ペインを表示します。
※日本語のメニュー
▼ 22. 最後はマージ結果を保存します。
最初にマージ出力ファイルを指定してないので
メニューで 「Save」(保存) を選択しても、「名前をつけて保存」と同じ扱いになります。
備考
- マージで残が有ると保存「 Save 」できない。
- マージ以外の部分を手修正すると m と表示されるが、ショートカットキーで元には戻せない。
A、か B か C からコピーして貼り付けるしか手がない。 - 異なる部分を B と C から両方を取り込む事も出来る。
Ctrl + 2 の後に Ctrl + 3 を行えばイイ。 - Delta : 英語では「差分」。 ※三角という意味も有る。
KDiff3 のマージでは「異なる」と日本語化されている。
テキスト比較
ディレクトリ比較 ※次は作業中