我有一个由页面(不是帖子)组成的基本jekyll网站但是,因为我想在列出它们时对页面进行排序,所以我不得不使用Jekyll-Sort插件(有点奇怪的排序页面没有内置致jekyll)。
因为我正在使用插件,所以我无法利用GitHub的自动jekylling。所以我想将项目的源代码推送到master
分支,只将_site
目录推送到gh-pages
分支。
我无法弄清楚如何执行此操作 - 我尝试在_site
目录中添加git repo以将其推送到gh-pages
,但每次运行jekyll
时它都会删除整个目录,我丢失了.git
文件夹。
有什么建议吗?还是一种本地排序方式?
答案 0 :(得分:8)
一个不太痛苦的解决方案:
import android.content.res.Resources;
或src
)master
添加到您的_site
,这样就会被忽略(如果尚未完成) 删除.gitconfig
目录的所有内容:
_site
将您的repo的$ rm -r _site/*
分支克隆到gh-pages
目录:
_site
最后的步骤:让jekyll构建,做提交&推:
$ git clone -b gh-pages `git config remote.origin.url` _site
,
cd 进入$ jekyll build
:
_site
,
定位提交的所有文件:
$ cd _site
,
提交它们:
$ git add -A
并将您的网站推送到GitHub-Pages:
git commit -am 'Yeah. Built from subdir'
。
答案 1 :(得分:1)
我用shell脚本做了一段时间。
解决方案1。
创建一个排除_site /文件夹的.gitignore。然后让你的shell脚本检查你是否在master上,如果是,则添加所有已更改的文件并提交它们。然后将_site /文件夹移动到临时文件夹。切换到gh-pages分支并复制临时文件夹。添加全部并提交。推动主人和主人gh-pages branch。
解决方案2。 将_site /文件夹的内容复制到另一个repo,它是您正在使用的repo的精确克隆,但是在gh-pages分支上签出。然后只需从源repo推送master分支,从另一个repo推送gh-pages分支