Hoe zorg ik ervoor dat Git een bestand als binair behandelt?

Een probleem hebben met een middelgroot project waarbij Visual Studio-projectbestanden problemen blijven houden omdat git ze als tekst behandelt en samenvoegt. Ik zou het bestand gewoon als binair willen instellen, zodat git deze bestanden nooit automatisch zal samenvoegen.

Is er een manier om dit te doen?


Antwoord 1, autoriteit 100%

Ja, met behulp van attributen. Zet zoiets in je .gitattributes-bestand (maak het als het niet bestaat):

*.sln binary
*.suo binary
*.vcxproj binary

Hier binaryis eigenlijk een vooraf gedefinieerde macro, gelijk aan -diff -merge -text.

Als je het verschil nog steeds wilt kunnen zien, kun je het volgende gebruiken:

*.sln -merge -text

Op deze manier worden de *.slnbestanden niet samengevoegd, niet genormaliseerd, maar ondertussen diff-able.


Antwoord 2, autoriteit 6%

U moet binaire bestandskenmerken definiëren in uw .gitattributes-bestand (maak het als het niet bestaat) door deze regels erin te plaatsen, om te voorkomen dat het het als tekst diff-bestand behandelt:

# 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   

Other episodes