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?
Bir birleştirme işlemi SHA1 verilirken, bir git birleştirme çakışması çözümünü nasıl görüyorsunuz?
cevap
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.
Bunu kendi başıma buldum, ancak yine de bir oylama ve bir Kabul vereceğim. – Pistos
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
Ç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.
"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
@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