Ott*_*ger 27 github gitignore jekyll
Jekyll的文档告诉我,Jekyll站点的_site-directory包含我在运行后创建的站点的编译版本
Jekyll build
Run Code Online (Sandbox Code Playgroud)
有几篇文章建议我在我的.gitignore文件中包含_site-directory,因为"它只包含我网站的编译版本".(这是一些文章推荐的内容.所以,我不确定我是否理解Jekyll的一些概念或Git的一些概念.
如果_site-directory包含网站的编译版本,那么服务器上的那个不应该提供最终的网站吗?我明白为什么你把源代码放在github上以及如何处理它,但是在github页面的情况下,Github不是版本控制系统而是文件托管系统,文件托管系统应该托管我工作的编译版本来提供它通过MyUsername.github.io给用户,对吗?
我的问题是:不应该只是我部署到Github的我的Jekyll网站的_site-directory,因为那应该是github为用户提供的编译源代码?那么,我不应该在.gitignore文件中添加任何其他内容除了_site-directory之外?
如果我弄错了:通过编译我的网站有什么意义
Jekyll build
Run Code Online (Sandbox Code Playgroud)
如果我不使用编译的源代码?
Dav*_*uel 20
两种解决方案
只有在需要在本地(jekyll build或jekyll serve)测试时才构建站点.生成的代码(in _site)将不会被版本化,因为github页面将从源生成页面.
在这种情况下,您需要在本地构建,因为Github页面无法使用插件完成工作.
有关更多说明,请参阅此帖子.
我认为您感到困惑的一点是大多数教程都讨论了至少两个不同的存储库。
source code您的网站,这是你打电话Jekyll buildresult,这就是你把一个内容中的_site目录那么_site在情况 1 中忽略是有意义的。出于与您通常忽略编译结果相同的原因:它们不打算被跟踪,因为它们可能会在每次编译之间更改而不更改源,因此您必须在每次构建后提交,尽管没有任何(可见的)改变。
对于存储库 2,您当然必须_site在构建后使用存储库 1 中的内容更新它。
话虽如此,您当然可以通过使用masterfor_site和另一个分支的内容将 1. 和 2. 合并到一个存储库中,例如source用于具有Jekyll构建文件的项目,这里忽略_site并master在更改后使用其内容更新分支。
| 归档时间: |
|
| 查看次数: |
8578 次 |
| 最近记录: |