2012-10-01 5 views
6

standardmäßig, wenn Sie verwenden fugitive.vim ‚s :Gdiff auf einem Dateipuffer, der in Konflikt mit git ist, erhalten Sie eine three way diff zeigt HEAD, die Arbeitskopie (mit Konfliktmarken) und die merge.anzeigen Basis in fugitive.vim Konflikt diff

Ich mag git config merge.conflictstyle diff3 Satz haben, die includes the base (letzte gemeinsame Vorfahre von HEAD und merge in den Konfliktmarken.

Leider auch mit diff3 als conflictstyle in fugitive.vim Sie immer noch nur 3 Scheiben bekommen (keine Base).

Wer weiß, wie Show es Idealerweise über die Arbeitskopie in einem anderen Fensterbereich machen?.

This comment von Tim Pope einen Hinweis zu liefern scheint, aber Ich kann es nicht genau herausfinden.

+2

Haben Sie versucht [Threesome] (http://sjl.bitbucket.org/thiresome.vim/)? – romainl

Antwort

4

Sie können es mit den folgenden Schritten tun:

  • :split - Führen Sie eine horizontale Spaltung
  • :Gdiff - Diff im oberen Fenster
  • ctrlw + j - Verschieben Fokus zum unteren Fenster
  • Gedit :1 - Vorfahre im unteren Fenster laden

Gedit :2 Lasten Kopf und Gedit :3 Lasten der Merge

0

Sie können git mergetool -t gvimdiff verwenden. Es wird 4 Fenster in gvimdiff öffnen. Es ist nicht in Flüchtige integriert, aber Sie können vim dennoch verwenden, um Ihre 3-Wege-Zusammenführung durchzuführen.

4

Der schnellste Weg den ich kenne, ist dieser Befehl im Konflikt Puffer ausgegeben:

:Gsdiff :1 | Gvdiff 

Sie diese Befehle als ein- eingeben müssen Liner, der Effekt ist anders, wenn Sie sie als zwei separate Befehle eingeben.

Das Ergebnis sieht wie folgt aus:

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

Das Zeug in den Klammern die ‚Revision‘ Bezeich sind, die in diesem Zusammenhang fugitive.vim versteht. Weitere Informationen finden Sie unter :h fugitive-revision.

+0

Ist es möglich, dies eine andere Reihenfolge zu machen? Es wäre nützlich, die gemeinsamen und Arbeitskopien auszutauschen. – Holloway