2015-03-26 17 views
5

ı master bu içeriğe sahip bir dosya var diyelim:Birbiri yanındaki çizgiler değiştiğinde git neden bir birleştirme çakışması oluşturur?

Line 1 
Line 2 
Line 3 
Line 4 

Şimdi oluşturup test adında yeni bir şube ödeme söylüyorlar. Bu branşta bu dosyayı değiştirin:

Line 1 
Line 2 
Line 3 Modified 
Line 4 

ve bu taahhüt ve master geri dönün. Master'da dosyayı şu şekilde değiştiriyorum:

. Şimdi test şubesini master ile birleştirirsem bir çakışma olur.

Genel ataları kullanarak neden bunu otomatik olarak çözemiyoruz? Git'e BeyondCompare kullanarak difftool olarak çakışmaları düzenlemeyi söylersem, BeyondCompare bunu kullanıcıya bildirmeden otomatik olarak çözer, çünkü bu gerçek bir çatışma değildir. Bunları otomatikleştirmek için gitmenin bir yolu var mı? recursive ve resolve birleştirme stratejilerini denedim, ancak bunu yapmayın.

Şirketimizde bir sorun var çünkü birden fazla geliştiricinin çizgileri yakınca değiştirdiği bazı dosyalar var ve bu da çekerken birçok gereksiz anlaşmazlığa neden oluyor.

cevap

0

Aynı problem üzerine tökezledim, SVN'den geldim Bu çok garip buldum.

neden bir cevap yok, ama belki bu yardımcı olur: Başka bir birleştirme aracı kullanmak

(üzerinde çalıştığınız hangi işletim sistemi bağlı olarak) i Çalıştığım (birleştirme çakışmaları çözmek için zihin birleştirme diff kullanmak linux/ubuntu'da).

Ve siz de bu dış birleştirme uygulamayı kullanmak için git ayarlayabilirsiniz ...

http://meldmerge.org/ görmek ve 'Git için kullanılması meld'

örn google http://meldmerge.org/help/resolving-conflicts.html

+1

Cevabınız için teşekkür ederiz. Git için çeşitli harici birleştirme araçları kullanıyoruz ve bu yakınlık çatışmalarını kendi başlarına otomatik olarak çözüyoruz. Ancak ben sık sık rahatsız edici olmak için sık sık olur gibi git bir çatışmaya ilk etapta duraklama durdurmak için bir yol arıyorum. – Falconne

+0

tamamen katılıyorum! (Diğer cevaplar/çözümler ile ilgileniyorum ...). Başka bir harekete geçirici şey, çizginin sonu. Farkında çalışan geliştiriciler var ise. OS .. ör. Pencereler ve ubuntu editörleri çizginin sonu hakkında farklı düşünürler ... bu da bir sürü çatışma çatışmasıdır. –

0

Bu durumda, repoda bulunan .gitattributes dosyasında çakışmayan bir özel birleştirme sürücüsü belirtebilirsiniz.

İlgili konular