2009-10-20 13 views
18

Çakışmalara sahip bir birleştirme işleminde, bir dosya grubu için bir sürümü saklamak için git komutunun bir yolu var mı?git birleştirme: bazı dosyalar için bir tarafı saklayın, geri kalanı el ile birleştirin

git checkout some_branch 
git merge origin/master 
<conflicts!> 
git checkout --theirs -- <dir>|<file> 

(ve tabii ki, --ours geçerli daldan sürümünü tutar): Önceden birleştirme çalıştıysanız ve birleştirilmemiş dosyalara arıyorsanız

$ git checkout some_branch 
$ git merge origin/master 
$ ? 

cevap

42

, sen git checkout kullanabilirsiniz

+0

Cevabınız için teşekkür ederiz. Ben denedim ve * her * ya "değiştirilmiş" ya da "her ikisi de eklendi" gibi çelişkili dosyaları, korkutucu kırmızı işaretler. İlk kez bunu gördüm, yani herhangi bir işaretçi? Birleşme, fark yaratan farklı dallar arasında. – Ivan

+0

Bu bir fark yaratmıyor - çekme sadece getirme + birleştirme. Durumunuzla ilgili olarak - unmerged dosyalar "Unmerged paths" bölümünde "her ikisi de modifiye" olarak başlamalıdır. Git onayından sonra, dosyayı incelerseniz, dosyanın belirtilen sürümle değiştirildiğini görürsünüz; Bunu yine de, git-add ile eklemelisiniz, bu noktada, "işlenecek değişiklikler" bölümüne yeşil renkte ilerleyecektir. Daha önce hiç kırmızı olarak "ikisi de eklenmiş" görmedim. – Cascabel

+0

Tamam, evet, bunun hakkında kafam karışmıştı. Bunu biraz değiştirmem gerekiyordu, örneğin: git checkout - theirs master

'. Tekrar teşekkürler. – Ivan

İlgili konular