Этот вопрос появился в похожих формах здесь и здесь , но, похоже, они не совпадают с тем, что я ищу.
Я делаю проект в StaticMatic, генераторе статических сайтов на Ruby. По сути, это просто каталог src / с шаблонами Haml, Sass и CoffeeScript. StaticMatic предоставляет сервер разработки для продолжения их компиляции в статический сайт, а также команду сборки, которая генерирует статический сайт в build /.
Моя модификация StaticMatic - разрешить добавление src / _modules / foo /, который может содержать src / _modules / foo / bar.haml. При запуске сервера или создании сайта будет создана символическая ссылка в src / bar.haml, которая указывает на файл в foo /.
Пока все хорошо. (Конфликты обрабатываются и т. Д.)
Причина существования отдельных каталогов в _modules / заключается в том, что они могут отслеживаться как подмодули 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. Насколько я знаю, ничего подобного не возможно, или это так?