我正在使用StaticMatic制作一个项目,这是一个Ruby静态站点生成器。基本上,它只是一个包含Haml模板、Sass和CoffeeScript的src/目录。StaticMatic提供了一个开发服务器来编译这些内容成为一个静态站点,以及一个生成静态站点到build/目录的命令。
我的修改是允许添加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文件中忽略一个特定的文件夹。据我所知,这似乎是不可能的,难道它可以做到吗?