Этот вопрос появился в подобных формах здесь и здесь, но они, похоже, не совпадают с тем, что я ищу.
Я делаю проект в StaticMatic, генераторе статического сайта Ruby. По сути, это просто каталог src/с шаблонами Haml, Sass и CoffeeScript. StaticMatic предоставляет серверу разработки, чтобы компилировать их в статический сайт, а также команду сборки, которая генерирует статический сайт в сборке /.
Мое изменение в StaticMatic позволяет добавлять src/_modules/foo/, которые могут содержать src/_modules/foo/bar.haml. При запуске сервера или создании сайта символическая ссылка будет создана в src/bar.haml, которая указывает на файл в foo/.
Пока все хорошо. (Конфликты обрабатываются и т.д.)
Обоснование отдельных каталогов в модулях/состоит в том, что их можно было отслеживать как подмодули git и проверять независимо другими командами. По сути, это позволяет нескольким командам работать на разных страницах (фактически JS-приложениях) на одном статическом сайте без дублирования основного макета и т.д.
Сцепка в том, что git хочет думать об этих символических ссылках как о файлах. Например, git status
показывает:
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be commited)
#
# src/_modules/bar/foo.haml
# src/foo.haml
... когда я просто хочу, чтобы он показывал src/_modules/bar/foo.haml
и игнорировал src/foo.haml
Один из подходов заключался бы в том, чтобы мой код генерации ссылок добавлял ссылки к .gitignore, но возиться с .gitignore программным образом ставит меня как подверженный ошибкам. (Возможно, эта проблема не является разумной?)
Мое идеальное исправление будет примерно таким:
[filetype = link]
... в .gitignore. Насколько я знаю, ничего подобного не возможно, или это?