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)英語ブランチのマージを見る

別のブログの説明:

  1. kdiff3をダウンロード
    https://sourceforge.net/projects/kdiff3/files/kdiff3/
    kdiff3-0.9.98をダウンロード-MacOSX-64Bit.dmg(10.3 MB)

  2. kdiff3をgitmergetoolに設定します

    $ git config --global merge.tool kdiff3 $ git config --global mergetool.kdiff3.path /Applications/kdiff3.app/Contents/MacOS/kdiff3'
  3. 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
  4. ファイルの競合を解決した後、kdiff3は競合ファイルディレクトリに.origを生成します。.gitignoreに行を追加する必要があります。

    $ echo '*.orig' >> .gitignore

    ディレクトリをクリーンに保ちたい場合は、コマンドを使用してすべての.origファイルを削除できます。

    find ./ -name '*.orig' |xargs rm -f