2013-07-19 13 views

答えて

2

:設定 - > Gitのコンフィグ

Merge tool: meld 
Path to mergetool: C:/Program Files (x86)/Meld/Meld.exe 
Merge tool command: "C:/Program Files (x86)/Meld/Meld.exe" --diff "$BASE" "$LOCAL" "$REMOTE" --output "$MERGED" 
+0

この回答は私のためにマージされたファイルを保存するのではなく、 'git mergetool'がMeldを起動する方法でもありません。私の答えは、それを起動し、正しく保存するgitの方法を使用します。 –

1

はい、this issueへの応答です。 Gitの拡張で

+0

meldはデフォルトのdifftoolですが、デフォルトのmergetoolではありません。そのチケットはまだ2016-05-09の – cori

+0

@coriの通りです。 Tomaszの答えは、あなたがmergeとdiffの両方を探しているなら、もっと便利だと思います。 –

0

この答えが正解です。もう1つの答えは、マージ結果/変更を実際のワークスペースファイルに保存しません! Gitの拡張で

:設定 - > Gitのコンフィグ

Mergetool = meld (just type it in, don't use the combo) 
Path to mergetool = </path/to/Meld.exe> 
Mergetool command = </path/to/Meld.exe> \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output \"$MERGED\" 

は、私は前の回答&関連記事をしようと、GitExtensionsでの作業メルド得るのに苦労していました。

これは修正された回答です。以前はコマンドライン 'git mergetool'の使用を掲示しましたが、祖先との3方向マージはクリーンではありませんでした。代わりに中央ペインに衝突マーカーが表示されました。

また、これについて議論するGitExtensions feature-requestに関する私のGitHubコメントも参照してください。

0

トーマスのように、受け入れられた答えは私にとってはうまくいかなかった。 meldが閉じられた後、マージされたファイルは保存されませんでした。しかし、トマスの答えは私のために働かなかった。ファイルが保存されている間に、マージされたマークアップとともにMeldで開かれました。

代わりに、私はSourcetreeで使用しているコマンドラインを使用しています。ここに私のために働いたものです。

Mergetool command = </path/to/Meld.exe> \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output=\"$MERGED\" --auto-merge