我正在为我的项目创建一个GitHub页面站点。生成孤立gh-pages分支并清除该分支中的所有现有文件的GitHub advises。为了让我的站点正常工作,我需要在gh-pages分支中获得来自master的几个JSON文件的最新版本的副本(没有它们,jQuery $.getJSON()将无法工作,正如this question中所指出的那样)。
似乎(至少)有两种方法可以将文件从master导入到gh-pages中。
1.从master创建gh-pages分支,然后定期对gh-pages进行基址调整。
here总结了这种方法,this answer讨论了如何自动执行此过程。我认为这种方法的问题是,站点的历史现在与repo的其余部分的整个历史相关联,即使master中的历史对站点并不是特别重要。gh-pages分支可能还会从master获得许多站点不需要的内容。
2.使用git-checkout定期将需要的文件从master拉取到gh-pages中。
这种方法涉及git-checkout的非传统用法,如here所述,用于将文件从一个分支复制到另一个分支。正如GitHub所建议的,分支将是一个孤立的分支,但是仍然可以通过使用git-checkout将JSON文件包括在master中。我对这种方法的犹豫是,这意味着每次从master更新文件时,都会在gh-pages中创建一个提交,这似乎是无关紧要的,因为历史记录中会有一堆“从主更新JSON文件”的提交。
我倾向于不用担心额外的提交,而是使用方法2,但是有没有其他我应该考虑的方法?上面的方法有没有什么我可能忽略的重要的优点/缺点?
发布于 2015-04-26 19:28:32
Github页面处理
gh-pages或用于用户存储库的master (例如: username.github.io)),您的站点将使用Jekyll processing生成。.nojekyll文件来完成的。建议的流程
在您的例子中,想法可以是在gh-pages分支中对python脚本和网站文件进行版本控制。
|-- _python_scripts
| |-- script.py
| |-- ...
|-- index.html
|-- script.js
|-- dogs.json使用第一个处理机制(使用jekyll),这将导致_python_script文件夹在发布时被忽略,而所有其他文件被发布。
结论
您有一个清晰的流程,以及用于数据收集、处理和呈现的提交历史记录。这是项目历史,从我的角度来看,数据历史与演示历史一样重要,甚至更重要。
我的两点意见。
https://stackoverflow.com/questions/29856640
复制相似问题