Если вы хотите, чтобы все файлы в res/icon
, вам нужно:
/res/icon/* merge=ours
(если нет подкаталогов) или:
/res/icon/**/* merge=ours
(если есть подкаталоги). Повторите этот шаблон для всех каталогов.
Но учтите, что есть недостаток: драйвер слияния ours
будет использоваться только в том случае, если есть что объединить . То есть предположим, что существует файл с именем res/icon/foo.img
. В коммите слияние базы это изображение буквы B для Base. В вашей ветке это по-прежнему образ буквы B, бит за битом идентичный исходному файлу. В их ветви это другое изображение, или другой цвет, или что-то еще, так что файл не является бит-идентичным.
Запустив git merge theirs
, ваш Git сравнит базу B в res/icon/foo.img
с вашей B, увидит, что они одинаковые, сравнит базу B с их изображением, увидит, что они разные, и выберет их файл потому что нечего разрешать.
Если вы действительно изменили файл каким-либо образом, Git сравнивает базовый res/icon/foo.img
B с вашим res/icon/foo.img
файлом (возможно, ваш B теперь другого цвета). Git сравнивает базу B с их файлом. И у вас, и у них есть изменения, поэтому есть разные изменения, которые нужно объединить. Теперь Git будет использовать ваш драйвер merge=ours
для объединения.
(Git, вероятно, должен иметь флаг «драйвер слияния должен всегда использоваться» или что-то подобное, чтобы заставлять использовать его драйвер, даже если Git считает, что нет изменений для объединения. Но Git делает сегодня такого флага нет.)