2016-03-29 4 views
2

, çatışmalı dosya şuna benzer: Git, SHA'ları yorum eklemek yerine çakışan dosyaya nasıl eklenir? Ben rebase ve bir çatışma ortaya çıktığında

<<<<<<< c50c817dad7008a3760241084de2b83fd4f84288 
it was on master 456 
======= 
it was on master 123 
>>>>>>> branch - set up README conflict 

Bazen diğer insanlar büyük tür mesajları işlemek yapmazlar, bu yüzden böyle bir şey ile rüzgar olabilir:

<<<<<<< c50c817dad7008a3760241084de2b83fd4f84288 
it was on master 456 
======= 
it was on master 123 
>>>>>>> fixed stuff 

Buradaki sorun, birden fazla "sabit öğe" nin bulunması durumunda, kesin taahhüdün bulunmasında sorun yaşayacağımdır. Git'i her zaman iletiler yerine SHA karmalarını kullanmamın bir yolu var mı?

cevap

0

Maalesef, no.

Peki, diğer yandan: evet, bir çeşit: ayrı bir HEAD kullanın ve cherry pick el ile, ID ile değiştirir, böylece git yerine bir isim olamaz. Yine de, rebase amacının çoğunu yener (rebase kiraz toplama işlemini ve ayrıca sondaki şube adı güncellemesini otomatikleştirir).

İki neden için bunu yapmak için 'a gereksinim duymamalısınız. Kontrol edemediğiniz kişi, insanların berbat mesajlar kullanmaması gerektiğidir. :-) 'un kullanabileceği, kullanımının, rebase'in bir çakışma ile durması durumunda, HEAD ve CHERRY_PICK_HEAD, birbiriyle çelişen iki işlemin SHA-1'lerini tanımlamasıdır. Detaylar için bakınız the git cherry-pick documentation.

(Ben de Tam birleştirme gibi Rebase/kiraz almak için gerekli değildir. Eğer baz halini görmek olanak sağlayan diff3 için merge.conflictstyle belirlenmesi yönünde bir tavsiye, ama seviyorum.)