7

デフォルトでは、gitと競合するファイルバッファでfugitive.vimを使用すると、3方向の差分表示、作業コピー(競合マーカー付き)、およびが表示されます。:GdiffHEADmerge

ベース(競合マーカーの最新の共通祖先および競合マーカー内git config merge.conflictstyle diff3)を含むセットが好きです。HEADmerge

残念ながらdiff3conflictstylefugitive.vimの場合でも、3つのペインしか取得できません(ベースなし)。

別のペインに表示する方法を知っている人はいますか?理想的には作業コピーについて。

ティム・ポープからのこのコメントはいくつかの手がかりを提供しているようですが、私はそれを完全に理解することはできません。

4

4 に答える 4

5

次の手順でそれを行うことができます。

  • :split-水平分割を行います
  • :Gdiff-トップウィンドウの差分
  • ctrlw+ j-フォーカスを下のウィンドウに移動します
  • Gedit :1-下部ウィンドウに祖先をロードします

Gedit :2ヘッドをGedit :3ロードし、マージをロードします

于 2014-04-08T14:20:30.177 に答える
5

私が知っている最も簡単な方法は、競合するバッファで発行される次のコマンドです。

:Gsdiff :1 | Gvdiff

これらのコマンドはワンライナーとして入力する必要があります。2つの別々のコマンドとして入力した場合の効果は異なります。

結果は次のようになります。

+---------------------------------------+
|         common ancestor (:1)          |
+-----------+--------------+------------+
|           |              |            |
| HEAD (:2) | working copy | merge (:3) |
|           |              |            |
+-----------+--------------+------------+

括弧内のものは、fugitive.vimがこのコンテキストで理解する「リビジョン」指定子です。詳細については、を参照:h fugitive-revisionしてください。

于 2014-09-23T19:36:39.097 に答える
0

git mergetool-tgvimdiffを使用できます。gvimdiffで4つのウィンドウが開きます。逃亡者には組み込まれていませんが、vimを使用して3方向マージを行うことができます。

于 2013-03-16T03:27:27.833 に答える
0

これらの答えはすべて、vimバッファーで既に開いているファイルの差分を開きたい場合に最適です。git mergetool私はそれを使用して、次のような4方向の差分ビューを開くことを好みます。

+-----------+----------------------+------------+
|           |                      |            |
| HEAD (:2) | common ancestor (:1) | merge (:3) |
|           |                      |            |
+-----------+----------------------+------------+
|                 working copy                  |
+-----------------------------------------------+

ここでの他の回答のおかげで、というファイルを作成して自分のディレクトリdiff.vimに配置することで、それを機能させることができました。~/.vim

Gsdiff :1
exe 1 . "wincmd w"
Gvdiff!
call feedkeys(winnr()."\<C-W>jgg", 'n')

次に、mergetoolコマンドを実行しvim -f "$MERGED" -S "$HOME/.vim/diff.vim"ます。私~/.gitconfigは次を持っています:

[mergetool "fugitive"]
    cmd = vim -f "$MERGED" -S "$HOME/.vim/diff.vim"
[merge]
    tool = fugitive

これが他の人に役立つことを願っています。

于 2018-06-15T21:10:38.587 に答える