2012-10-01 9 views
6

Eğer fugitive.vim 'ın :Gdiff git ile çatışma halinde olan bir dosya tampon üzerinde, alacağınız kullanırsanız bir three way diff (çatışma belirteçleri ile) HEAD, çalışma kopyasını gösteriyor ve merge.göster baz Varsayılan olarak

hiçbir hangi includes the base (çatışma belirteçlerindeki HEAD ve merge en yakın ortak atası. Hatta hala sadece 3 bölmeleri olsun fugitive.vim içinde conflictstyle olarak diff3 ile maalesef

(git config merge.conflictstyle diff3 seti, sahip olmak ister baz).

kimse İdeal çalışma kopyası olacak? başka bölmesinde gösteri yapmak nasıl biliyor mu. Tim Papa

This comment bazı ipucu sağlayabilir gibi görünüyor, ama Bunu anlayamıyorum.

+2

[Threesome] (http://sjl.bitbucket.org/threesome.vim/) 'yi denediniz mi? – romainl

cevap

4

Aşağıdaki adımları takip ederek yapabilirsiniz:

  • :split - Do yatay bölünmüş
  • :Gdiff - Diff üst pencerede
  • ctrl+ w j - Taşı alt pencereye odaklanma
  • Gedit :1 - Alt pencereye atası yükleyin

Gedit :2 yükler baş ve Gedit :3 yükler benim bildiğim hızlı yolu çatışmalı tampon yayınlanan bu komut olduğunu

0

Git mergetool -t gvimdiff'i kullanabilirsiniz. Gvimdiff'te 4 pencere açılacak. Kaçak haline getirilmemiş, ancak hala 3 yönlü birleştirme yapmak için vim kullanabilirsiniz.

4

birleştirme: Bir tek olarak bu komutları girmelidir

:Gsdiff :1 | Gvdiff 

liner, iki ayrı komut olarak girdiğinizde efekt farklıdır.

sonuç şuna benzer: Parantez içindeki

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

şeyler bu bağlamda anlar fugitive.vim 'revizyon' belirteçleri vardır. Daha fazla bilgi için bkz. :h fugitive-revision.

+0

Bunu farklı bir sipariş yapmak mümkün mü? Ortak ve çalışma kopyalarını değiştirmek yararlı olacaktır. – Holloway