Как обрабатывать дробь двоичных файлов, например..mo файлы

Есть ли простой способ обработки двоичных файлов в операциях git? Я думаю, что мой идеал в этом случае - "слияние".mo файлов (двоичных сообщений .po) - должен был бы отдать предпочтение более новому файлу, скопировав его поверх верхней части.

Итак, могу ли я настроить git для этого или всегда будет ручным упражнением?

Ответ 1

Вы можете добавить специальный файл слияния в файл gitattributes (см. этот Вопрос SO), только для файлов *.mo и только в соответствующих каталогах.

echo *.mo merge=keepTheir > dirWithMoFiles\.gitattributes
git config merge.keepTheir.name "always keep theirduring merge"
git config merge.keepTheir.driver "keepTheir.sh %O %A %B"

С keepTheir.sh как:

mv -f $3 $2
exit 0

Ответ 2

Ну, лучшая идея заключается не в том, чтобы сгенерировать файлы (такие как .mo файлы) под контролем версий.

Если вы все еще хотите иметь их в Git, используйте стандартные способы разрешения конфликтов.

Например, вы можете получить любую версию конфликтующего файла:

git checkout --theirs -- dir/file.mo
git checkout --ours -- dir/file.mo

Или используйте git mergetool, который предоставит вам обе версии конфликтующего файла.