git - 将 Jekyll 站点发布到 Git 存储库

标签 git jekyll

每次我运行 Jekyll 时,它都会破坏目标文件夹的全部内容。这个问题是我的目标目录是一个小的 git repo,我用来推送到我的实际服务器。有没有办法阻止 Jekyll 删除 Git 文件,这样我就不必生成内容然后将它们复制过来?

最佳答案

你可以:

  • 你的 git 仓库在别处(即不在受 Jekyll 部署影响的目录中)
  • 让你的脚本将 git 仓库推送到你的服务器指定 GIT_WORK_TREE以目标文件夹为值的变量

换句话说,一个 .git不必在工作树目录本身中是必需的。
它可以在别处,你的脚本可以通过 GIT_WORK_TREE 引用实际的工作树。或通过 --work-tree=<path>选项。

如果您的脚本是 Jenkyll 复制/删除文件的目标目录的一部分,您可以做相反的事情,并提及 .git 的位置实际上是 GIT_DIR变量或 --git-dir=<path>选项。

要有新的--work-dir作为 repo 协议(protocol)的默认选项,您可以使用 git-config --add core.worktree ../PATH/ , 其中PATH - 相对于 .git 的实际工作目录的路径.

关于git - 将 Jekyll 站点发布到 Git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6026976/

相关文章:

php - 如何在 PHP 环境之间更改不同的配置设置?

for-loop - Jekyll _data : How to display the key-value label as a value, 不仅仅是key的值

jekyll - 在 Jekyll 页面中使用 Liquid 标签,而不是布局

html - GitHub 页面 - CSS 中的相对 URL 问题

git - 将名为 "--"的文件添加到 git 存储库

git - 忽略 git refspec 中的单个命名空间

Git 差异 : how to do the opposite of -G<regex>?

git - 切换分支时的致命 Git 错误

jekyll - 如何使用 Liquid 列出目录中的文件?

jekyll - 如何使用 jekyll 和 redcarpet 编写目录