Ответ 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, выполненный этим драйвером слияния, чтобы задать вам вопрос, а затем применить свой выбор для всех слияний.