diff3 - 3つのファイルの差異の表示
diff3 コマンドは diff コマンドと違い、3つのファイル間の差異を表示します。例えば、ある1つのファイルがあり、自分がそのファイルに変更を加えたと同時に、他の人もそのファイルに変更を加えていた場合、その差異を表示、というより変更をマージするために使用します
% diff3 [自分のファイル] [変更前のファイル] [相手のファイル]
のように実行すると差異を表示できます。
% diff3 -m [自分のファイル] [変更前のファイル] [相手のファイル]
のように実行すると、[変更前のファイル]から[相手のファイル]への変更を[自分のファイル]にマージした内容を表示できます。
という訳でやってみる
先ほど作った
testdiffファイルが入ってるレポジトリ
$ ls
testdiff
$ cat testdiff
差分がとれるかテスト
追加しました
を二回コピーしてtestdiffA,testdiffBを作り
それぞれ中身を
testdiffA
差分がとれるかテスト
追加しました
Aです
testdiffB
差分がとれるかテスト
追加しました
Bです
に変更する。
$ cp testdiff testdiffA
$ ls
testdiff testdiffA
$ vim testdiffA
差分がとれるかテスト
追加しました
Aです
$ cp testdiff testdiffB
$ vim testdiffB
差分がとれるかテスト
追加しました
Bです
じゃあこの三つをdiff3 -mしてみる
$ diff3 -m testdiffA testdiff testdiffB
差分がとれるかテスト
追加しました<<<<<<< testdiffA
Aです
testdiff =======
Bです
>>>>>>> testdiffB
ということに。一応完了
こいつをブランチとかにもつかえたりするのだろうか。
でもブランチマージして衝突したときに
hogehoge とhogehoge.orgiとかになるからそれをdiffすればいいのかな?