在gh-pages分支

时间:2015-04-24 20:13:32

标签: json git github github-pages

我正在为我的项目创建一个GitHub Pages网站。 GitHub advises生成孤立gh-pages分支并清除分支中的所有现有文件。为了使我的网站正常工作,我需要master分支中gh-pages的几个JSON文件的最新修订版本的副本(如果没有它们,jQuery $.getJSON()将赢得'工作,如this question)中所述。

似乎有(至少)两种方法可以将文件从master转换为gh-pages

1。从gh-pages创建master分支,然后定期重新定位gh-pages

此方法总结为herethis answer讨论了如何自动执行此过程。我认为这种方法的问题在于,网站的历史现在与其余回购的整个历史相关联,即使master中的历史对网站来说并不是特别重要。 gh-pages分支也可能最终包含来自网站所需的master的大量内容。

2。使用git-checkout定期将所需文件从master提取到gh-pages

此方法涉及git-checkout的非传统用法,描述here,将文件从一个分支复制到另一个分支。根据GitHub的建议,该分支将是一个孤儿,但仍然可以在master中包含JSON文件,方法是将其引入git-checkout。我对这种方法犹豫不决的意思是,这意味着每次从gh-pages更新文件时都会在master中创建一个提交,这似乎是无关紧要的,因为历史记录会有一堆提交说明&#34 ;从master更新JSON文件。"

我倾向于不担心额外的提交和使用方法#2,但我还应该考虑另一种方法吗?我可能错过了上述方法的任何重要优点/缺点吗?

1 个答案:

答案 0 :(得分:0)

Github页面处理

  1. 一旦拉到您的发布分支(gh-pages进行项目 存储库或master用于用户存储库(例如: username.github.io))您的网站是使用Jekyll生成的 处理

  2. 另一个选择是指示github页面不要使用jekyll处理 但只是从发布分支复制文件。这是通过创建来完成的 您存储库根目录下的.nojekyll文件。

  3. 建议的过程

    在您的情况下,想法可以是在gh-pages分支中对python脚本和网站文件进行版本化。

    |-- _python_scripts
    |   |-- script.py
    |   |-- ...
    |-- index.html
    |-- script.js
    |-- dogs.json
    

    使用第一个处理机制(使用jekyll),这将导致_python_script文件夹被忽略以进行发布,并且所有其他文件都将被发布。

    结论

    您有一个清晰的流程,其中包含数据收集,处理和演示的提交历史记录。这个项目历史和我的观点数据历史与演示历史一样重要,可能更多。

    我的两分钱。