2012-06-22 22 views
55

Görsel stüdyo proje dosyalarının git ve metni birleştirme ve birleştirme gibi sorunlardan dolayı sorun yaşadığı orta boyutlu bir projeyle ilgili sorun yaşıyorum. Dosyayı ikili olarak ayarlamak istiyorum, böylece git bu dosyaları otomatik olarak birleştirmeyecek.Git'i bir dosyaya ikili olarak nasıl davranabilirim?

Bunu yapmanın bir yolu var mı?

+2

Fakat Görsel Studio proje dosyaları metin dosyalarıdır ve birleştirilmeleri gerekiyor mu? –

+0

@CharlesBailey Tüm yapılarınızı berbat hale getirmek için periyodik olarak mümkün olan en kötü şekilde birleşir. XML ile uğraşmak istemiyorum, yeni dosyaları manuel olarak eklememi veya hatta düzgün bir şekilde nasıl işleneceğini bilen bir XML ayıklama aracını çalıştırmamı istemek istiyorum. –

+0

@ michael.bartnett: Sadece birleşmeyi bozarsan, kesinlikle? –

cevap

77

Evet, attributes'u kullanarak. (Bu yoksa oluşturun) sizin .gitattributes dosyada böyle bir şey koyun: eşdeğer

İşte binary is actually a predefined macro
*.sln binary 
*.suo binary 
*.vcxproj binary 

, -diff -merge -text için. Hala diff görmek mümkün istiyorsanız

, şunları kullanabilirsiniz:

*.sln -merge -text 

Bu şekilde, *.sln dosyalar birleştirilecek olmayacak eol normalize ama bu arada fark-mümkün bulunmamaktadır.

+1

bu dosya nerede? – neves

+0

@neves Her noktaya verilen cevapta bağlantı tarafından sağlanan belgelere göre bir gitignore dosyası bulunabilir. –

+0

@neves: ya yerel olarak repo'unuzda veya global olarak, örn. '~/.gitattributes' ve daha sonra' git config --global core.attributesfile ~/.gitattributes' ’u çalıştırarak http://stackoverflow.com/questions/28026767/where-should-i-place-my-global-gitattributes -dosya –

2

Bunu metin diff dosyası olarak ele önlemek için, içinde şu satırları koyarak ikili dosya .gitattributes dosya (o yoksa oluşturun) öznitelikleri tanımlamak gerekir:

# Define binary file attributes. 
# - Do not treat them as text. 
# - Include binary diff in patches instead of "binary files differ." 
*.sln  -text diff 
*.suo  -text diff 
*.vcxproj -text diff 
*.gif  -text diff 
*.gz  -text diff 
*.ico  -text diff 
*.jpeg -text diff 
İlgili konular