К счастью, в этом случае казалось, что Серж был прав, и на самом деле было проще просто проверить правильные версии файлов перед совершением слияния.
В этом случае это было просто
git merge --no-ff --no-commit feature/work-on-0
git checkout HEAD -- sub-project-1/
, который сохранил d и позволил ему не конфликтовать с feature / work-on-1..
Я посмотрел на решение .gitattributes, но, похоже, оно не дало желаемого эффекта.
Одна проблема заключалась в том, что при объединении компонента / работы над 0 не было никакого объединения, это просто быстрая перемотка вперед, и мастер не изменился, но после объединения функции / работы над 1на это, тогда я хочу сохранить некоторые из них и некоторые из наших в зависимости от папки.