gitはmergetoolをkdiff3に設定します
Git Sets Mergetool Kdiff3
私の構成を見てください:
root @ xxxxx:/ $ git config -l
root @ xxxxx
usr.name = wulong
merge.tool = kdiff3
mergetool.kdiff3.path = / usr / bin / kdiff3
比較ツールとしてkdiff3を設定します。それ以上の比較は便利ですが、Linuxでのセットアップは少し面倒です。最初のkdiff3は
1.kdiff3パス
:/ $ which kdiff3
/ usr / bin / kdiff3
2.kdiff3を比較ツールとして設定します
$ git config --global merge.tool kdiff3
$ git config mergetool.kdiff3.path '/ usr / bin / kdiff3'
3.gitマージブランチ
例:test_proプロジェクトには、英語と中国語の2つのブランチがあります。英語を中国語のブランチにマージしたい
(1)gitチェックアウト中国語
(2)git merge english
(3)マージが失敗し、解決されていない競合があることを示唆しています
$ gitマージ英語
res / values /strings.xmlを自動的にマージします
競合(コンテンツ):res / values /strings.xmlの競合をマージします
自動マージが失敗しました。競合を修正し、修正された結果を送信してください。
(4)git mergetool
マージ:
res / values / strings.xml
'res / values /strings.xml'の通常のマージ競合:
{ローカル}:変更されたファイル
{リモート}:変更されたファイル
Returnキーを押して、マージ解決ツール(kdiff3)を開始します。
(5)入力し、kdiff3インターフェイスを参照して、3つのボタンA、B、Cをクリックし、マージする正しいコードを選択します。
(6)保存して閉じます。ファイルの競合が解決されました。他のファイルの競合がある場合は、すべての競合が解決されるまで、次の競合ファイルの比較を続行するように求められます。
(7)gitadd。
(8)git commit -am '終了'
(9)git log -3
(10)英語ブランチのマージを見る
別のブログの説明:
-
kdiff3をダウンロード
https://sourceforge.net/projects/kdiff3/files/kdiff3/
kdiff3-0.9.98をダウンロード-MacOSX-64Bit.dmg(10.3 MB) -
kdiff3をgitmergetoolに設定します
$ git config --global merge.tool kdiff3 $ git config --global mergetool.kdiff3.path /Applications/kdiff3.app/Contents/MacOS/kdiff3'
-
git rebaseの場合、競合がある場合
$ git mergetool
kdiff3(BeyondCompareに似たグラフィカルインターフェイス)を自動的に実行します
競合ポイントを見つけたら、キーボードショートカットを使用しますcmd+2
ローカルを選択cmd+3
リモートを選択すると非常に便利ですAfter resolving all conflicts, save and exit. The command line continues: $ git add . $ git rebase --continue Repeat step 3 until the rebase operation is completed
-
ファイルの競合を解決した後、kdiff3は競合ファイルディレクトリに.origを生成します。.gitignoreに行を追加する必要があります。
$ echo '*.orig' >> .gitignore
ディレクトリをクリーンに保ちたい場合は、コマンドを使用してすべての.origファイルを削除できます。
find ./ -name '*.orig' |xargs rm -f