2011-05-28 28 views
8

Şu anda kısa bir süre içinde ana kaynağa dönüştürülecek bir özellik dalında çalışıyorum. Son zamanlarda bunu denedim ve elle düzeltmek zorunda kaldığım birleşme çatışmaları vardı.Çakışmalarda her zaman birleştirilmiş şubeden sürümü kullanın.

Yani, her zaman önceden birleştirme çakışmaları önlemek amacıyla birleştirilmiş şubesinden sürümünü kullanmak için git söylemek mümkündür? Bu durumda çatışmaları manuel olarak çözdüm ama her zaman birleştirilmiş şubeden versiyonu seçtim, bu da beni sıkıcı bir işten kurtaracaktı.

cevap

15

Sen feature Özelliğiniz şube adı olduğunu varsayarak, aşağıdaki komutla GIT'de tam bunu yapabilirsiniz:

git merge -s recursive -X theirs feature 

Bu stratejiyi birleştirme "özyinelemeli" kullanmaya söylüyor ama "onların ile "seçenek. Bu, bir çakışma olduğunda, mevcut şubenizi değil, özellik dalından ikincisini alarak otomatik olarak çözülür. (Bu değer git den kaldırıldı "onların" birleştirme stratejisi, tamamen farklı olduğuna dikkat ediniz.) Bu özellik, git v1.7.0 tanıtıldı

.

+0

Emin misiniz? Strateji, tüm dosyaları bir tarafa dayandırmamış mıydı - sadece çelişenleri değil? –

+0

Evet, eski "onların" birleştirme stratejisinin yaptığı şeydi, fakat "kendi" nin "özyinelemeli" stratejisine olan seçeneği, farklı bir şey yapar; normal bir birleşme yapar, ancak "kendi" sürümünün lehine herhangi bir çakışmayı otomatik olarak çözer. –

+0

bilmek güzel! Yine de biraz tehlikeli görünüyor. Çakışan dosyanın kendisi nedir? Çatışan-olmayanlar çatışmayan değişiklikleri kullanıyorlar mı? Yoksa tüm dosyayı kapar mı? –

0

Sen özyinelemeli "bizimki" stratejisi kullanamaz. Çatışmayan değişikliklerinizi kaldırır.

Senaryoda çatışmalı dosyaların dosya adlarını almak ve git ödeme --ours yapabileceğini - Bir git ile takip edilen dosya adı dosya adı ekleyin. Eğer tekrar tekrar aynı çatışmaları alıyorsanız

, rerere açmak ve çatışmaları çözmek zorunda kalmamak için bu yeterli olabilir.

Bu yardımcı olur umarım.

+0

Doğru, ** 'git rerere' ** çok görünür bir araç acayip ama değil ... –

İlgili konular