Я уже провел обширный поиск, прочитал много вопросов и решений SO и попробовал разные способы, но я не смог сделать то, что хочу, что довольно просто.
У меня есть главная ветвь, где находится весь основной код, и ветвь дизайна, где компоновка приложения rails построена командой разработчиков. Они добавили в общую папку папку "photoshop", чтобы сохранить источники для изображений также под управлением версиями. Но я не хочу, чтобы эта папка была скопирована при слиянии с главной ветвью, потому что, ну, она не нужна.
По-видимому, способ сделать это через драйвер слияния. Итак, я создал драйвер "ignore":
[merge "ignore"]
name = always ignore during merge
driver = ignore.sh %0 %A %B
И создал файл ignore.sh на моем $PATH:
exit 0
Я создал файл .gitattributes внутри public/, потому что папку photoshop следует игнорировать целиком, и она появится под общим /:
photoshop merge=ignore
photoshop/ merge=ignore
photoshop/* merge=ignore
photoshop/**/* merge=ignore
Как вы можете видеть, я пробовал несколько разных шаблонов, чтобы игнорировать всю папку, но она не работает. Я считаю, что это потому, что на главной ветке нет папки, поэтому нет конфликта, поэтому git не использует драйвер игнорирования. Есть ли способ достичь этого, не создавая папку public/photoshop на master?
Спасибо!