2013-03-07 40 views
21

Bir uyuşmazlığı çözdüğünüzde, değişiklikleri giderin, ardından bir git farklılığı yapın, size + 'ler ve -'ler, biri "bizim" ve diğeri için "onların" için iki sütun gösterir. Bir repo'nun git tarihinde birleşme taahhüdü verildiğinde, başkası tarafından yapılan bu kararı nasıl görebilirim? Diğer durumlarda, daha önce gördüm (gitk, sanırım), ama ben sahip olduğum bu SHA1 için bunu belirleyemiyorum.Bir birleştirme işlemi SHA1 verilirken, bir git birleştirme çakışması çözümünü nasıl görüyorsunuz?

+0

"o zaman bir git farkı yap, bu sana" bizimki "için iki sütun ve" onların "için" ... yapar? Git ayarlarınızı nasıl yapıyorsunuz? – gcbenison

+0

@gcbenison: Yalnızca, çakışmayı kararlaştırmadan önce, birleştirme çakışmasıyla uğraşırken bunu yapar. Bunun özel bir yapılandırma gerektirdiğini düşünmüyorum. – Pistos

cevap

25

Ref değerini biliyorsanız, git show <MERGE_COMMIT> size birleştirme işlemi için yapılan (varsa) çözünürlüğü gösterecektir.

Günlük için git log -p -c veya git log -p --cc'u kullanın. Git günlüğünün manpage:

-c 
     With this option, diff output for a merge commit shows the differences from each 
     of the parents to the merge result simultaneously instead of showing pairwise 
     diff between a parent and the result one at a time. Furthermore, it lists only 
     files which were modified from all parents. 

    --cc 
     This flag implies the -c option and further compresses the patch output by 
     omitting uninteresting hunks whose contents in the parents have only two 
     variants and the merge result picks one of them without modification. 
+0

Bunu kendi başıma buldum, ancak yine de bir oylama ve bir Kabul vereceğim. – Pistos

+1

Bu kinda sorta çalışıyor. Hala birleştirme kafalarından biri tarafından tanıtılan birtakım değişiklikler görüyorum, belki de emin değilim çünkü üst üste 2 birleştirme taahhütüm var mı? Tüm ilginç olmayan çatışma çözümlerini (kdiff3 tarafından çözüldü) ve ilginç olanları görüyorum. İlginç olanların + veya - ile karşılaştırıldığında + veya - ile öneklendiğini fark ettim – chrisortman

0

Çift taraflı hafif: birleştirme işlemini ters yönde görmek için diff3 veya kdiff3 kullanabilirsiniz, özellikle de (git tarzı) 'kötülük' birleşmesiyse, çakışmayı çözmek için ikinci bir değişiklik yapıldı. (Değişiklikleri nasıl yedeklediğini görmeye çalışan patlayan bir kafaya dikkat edin ;-)

Açıktır ki 'temel' işlemi birleştirilmiş taahhüt olacaktır.