Сообщите git не объединять двоичные файлы, а выбрать

Когда двоичные файлы, swfs, jars и flvs меняются локально, и я пытаюсь вносить изменения, git пытается объединить их и сообщить о конфликтах.

И затем я перехожу к временной ветке и фиксирую локальные измененные двоичные файлы и объединяя их обратно после вытягивания с рекурсивной их стратегией. - Слишком много работы.

Есть ли способ сказать git, а не пытаться слить двоичные файлы и спросить, какую из них использовать.

Ответ 1

Вы можете настроить слияние диска в файле .gitattributes (только для данного поддерева, только для некоторых типов файлов)

См. этот вопрос (или этот).

# choose the name of the merge driver to be use for all jar files
echo *.jar merge=keepTheir > dirWithJarFiles\.gitattributes

Объявите свой драйвер слияния в конфигурации Git repo:

git config merge.keepTheir.name "always keep their during merge"
git config merge.keepTheir.driver "keepTheir.sh %O %A %B"

или

git config merge.keepMine.name "always keep mine during merge"
git config merge.keepMine.driver "keepMine.sh %O %A %B"
[merge "keepMine"]
        name = always keep mine during merge
        driver = keepMine.sh %O %A %B

В примере, который я даю, не просите вас о выборе, но при слиянии всегда сохраняйте версию "моя" (или "ваша" ).
Но вы можете адаптировать script, выполненный этим драйвером слияния, чтобы задать вам вопрос, а затем применить свой выбор для всех слияний.