假设我在 gh-pages 或其他 github 网站 repo 中有以下目录结构:
-project-dir
-- index.html # a symlink to mysite/index.html
-- mysite/
--- index.html # actual source, references otherstuff
--- otherstuff/
我不想复制 mysite/的内容以使其全部位于顶层。在我的例子中,这是因为它是以特定格式自动生成的,如果它不能驻留在子目录中,将非常难以管理。
例如,为了让自定义域与 gh-pages 一起工作,我需要一个位于顶层目录的 CNAME
文件。但我可能还想要在目录结构的更下方有一个不同的 CNAME
文件。只需将 mysite
上的内容复制到顶层即可覆盖它。
(这个例子有点简化。真实的例子涉及很多其他可以被覆盖的东西,并且处理很多不应该被复制的自动生成的组件。)
自然的解决方案似乎是符号链接(symbolic link),但如果我将顶级 index.html
变成指向 mysite/index.html
的符号链接(symbolic link),那么它就会失败因为 GitHub 没有正确处理符号链接(symbolic link)。
将所有代码组织到子目录中并且不将其放入顶级目录的标准解决方案是什么?
最佳答案
我不知道这个解决方案是否可以正常使用 CNAME 文件,但是您可以通过在根目录中添加以下 index.html 来让 GitHub Pages 在您的 gh-pages 分支中提供一个子目录:
<!-- Redirect to mysite subdirectory -->
<meta HTTP-EQUIV="REFRESH" content="0; url=mysite/index.html">
关于git - 如何使用 index.html 作为子目录的符号链接(symbolic link)在 gh-pages 中部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35531207/