字体真棒字体在Git clone / pull之后显示为框?

时间:2015-03-04 23:09:29

标签: git font-awesome

我一直在经历一个相当奇怪的问题,我想看看是否有其他人经历过同样的事情,如果他们找到了解决方案。

对于给定的Web项目,我下载Font Awesome,包含CSS文件并确保正确加载所有文件(没有404)并且一切正常。我在项目上做了一些工作,然后用git commit / push完成。

麻烦的是,通常当我然后去另一台机器并执行git clone / pull所有在原始机器上运行良好的字体图标显示为盒子!控制台仍然没有报告404错误。一旦我重新下载Font Awesome并重新复制文件(它们就在那里,它们就不能工作),一切都能正常工作。

有没有人遇到过git损坏字体文件的问题?或者我的工作流程中还有其他东西被剔除了吗?非常感谢帮助和建议。

更新:问题已解决

快速解决方法是切换到CDN以加载文件。我最初不愿意这样做,因为我担心加载时间,但它更好,加上它减少了我服务器上的负载。

实际问题在于文件的行结尾。如果在Windows上开发(不幸的是我),那么git有时(通常)检查带有Windows风格的行结尾的文件并使用Linux风格提交它们。由于某种原因,这损坏了Font Awesome字体文件。

因此,更详细的修复(如果您坚持不使用CDN)是为了确保git保留Font Awesome文件的原始行结尾,并且在提交时不会更改它们/结帐。

2 个答案:

答案 0 :(得分:2)

可能是由git的core.autocrlf功能引起的。

当选项为true时,这些二进制文件将被折叠。

答案 1 :(得分:0)

不确定为什么会从您的描述中发生这种情况,但许多精明的开发人员使用现代项目时会混合使用多个级联依赖项:

  1. 默认情况下,使用字体真棒CDN(请参阅:http://www.bootstrapcdn.com/#fontawesome_tab)来防止出现这些问题。
  2. 如果上述操作失败,请回退到本地(域上)副本及其版本。
  3. 不是一个完整的答案,但这将为您提供所选库的CDN版本 - 并且 - 您需要的地方,您可以依赖的本地版本。

    有一些JS库允许你回退本地的库副本,但这个问题涵盖了一些技术:

    How to load local script files as fallback in cases where CDN are blocked/unavailable?