Tob*_*nke 12 git github jekyll github-pages
我有一个基本的jekyll网站,包括页面(而不是帖子)但是,因为我想在列出它们时对页面进行排序,我不得不使用Jekyll-Sort插件(有点奇怪的排序页面不是内置于jekyll).
因为我正在使用插件,所以我无法利用GitHub的自动jekylling.所以我想将项目的源代码推送到master分支,只将_site目录推送到gh-pages分支.
我无法弄清楚如何做到这一点 - 我尝试在_site目录中添加一个git repo 来推送它,gh-pages但每次我运行jekyll它都会删除整个目录而我丢失了.git文件夹.
有什么建议?还是一种本地排序方式?
小智 9
一个不太痛苦的解决方案:
src,或master)_site到您的.gitconfig,所以它被忽略,如果尚未完成)删除_site目录的所有内容:
$ rm -r _site/*
将您的repo的gh-pages分支克隆到_site目录中:
$ git clone -b gh-pages `git config remote.origin.url` _site
最后的步骤:让jekyll构建,执行提交和推送:
$ jekyll build,
CD到_site:
$ cd _site,
定位所有提交文件:
$ git add -A,
提交他们:
git commit -am 'Yeah. Built from subdir'
并将您的网站推送到GitHub-Pages:
git push.
我自己用 shell 脚本做了一段时间。
解决方案1。
创建一个排除 _site/ 文件夹的 .gitignore。然后让你的 shell 脚本检查你是否在 master 上,如果是,添加所有更改的文件并提交它们。然后将 _site/ 文件夹移动到临时文件夹。切换到 gh-pages 分支并将临时文件夹复制过来。全部添加并提交。推送 master 和 gh-page 分支。
解决方案 2. 将 _site/ 文件夹的内容复制到另一个存储库,该存储库是您正在使用的存储库的精确克隆,但已在 gh-pages 分支上签出。然后只需从源存储库推送 master 分支并从其他存储库推送 gh-pages 分支
| 归档时间: |
|
| 查看次数: |
1973 次 |
| 最近记录: |