如何通过 gh-pages 使 Web 项目可用?

How to make a web project available through gh-pages?

我在 https://github.com/yeoman/generator-angular 的基础上制作了一个简单的 Web 项目。

这会生成一个支持 bower 和 g运行t 的优秀项目环境,其中 .js、.html 和 .css 文件位于名为 "app"(类似于https://github.com/jgatjens/angular-pokemon的结构)。

本地主机一切正常。我 运行 一个命令代码 (g运行t serve) 然后它开始 运行 进入浏览器。但是,我无法在网上提供相同的内容。

重要的是要强调我不想 "publish it officially",我只想能够向我的朋友发送 link,这样他们就可以尝试(就像用户一样)并给我反馈。

我不是在谈论共享代码。我只是想让它在完成后可供用户使用。

例如,如果我转到 https://ng-pokemon.firebaseapp.com,我可以尝试存储库 https://github.com/jgatjens/angular-pokemon 的内容。

如何使用 gh-pages 使子文件夹项目可用?(在本例中为“/app”)

关于我该怎么做的任何线索?

我只是一个狂热者,在制作 Web 项目方面没有太多经验。

提前致谢, 罗杰.

Atlassian 的 Bitbucket 为 Git 的小型团队提供免费的无限私人托管服务。我过去曾将它们用于各种私人项目。

https://bitbucket.org/

如果您希望您的朋友只是查看一些代码并提供反馈,与他们分享秘密要点可能比设置整个存储库更容易。

https://gist.github.com/

编辑:由于您实际上是在寻找 host 而不是共享您的代码,因此您需要找到一个托管解决方案。

我终于弄清楚了对于在子文件夹结构中构建的项目我应该做什么。顺便说一下,这是 yeoman 项目中的标准。

毕竟,我发现 gh-pages 提供服务。 为此,我需要:

1 - 为构建项目的子文件夹创建子树并将其推送到 gh-pages 分支。

git checkout master # you can avoid this line if you are in master...
git subtree split --prefix dist -b gh-pages # create a local gh-pages branch      containing the splitted output folder
git push -f origin gh-pages:gh-pages # force the push of the gh-pages branch to the remote gh-pages branch at origin
git branch -D gh-pages # delete the local gh-pages because you will need it: ref

2- 之后,index.html 页面已经被 http://username.github.io/projectname 页面 link 识别。但是,我仍然缺少 Bower 自动创建的库引用。因此,只需将文件夹 bower_components 复制并粘贴到“/app”文件夹中。

3 - 我再次更新了分支,它运行良好。

ps_1:如果我必须添加一个新库,我可能需要将它从外部 bower_components 手动复制到内部 bower_components.

ps_2:我还创建了一个 g运行t 任务以方便进一步部署:

grunt.task.registerTask('push-pages', function(){
   var shell = require('shelljs');
    shell.exec('git subtree split --prefix docs -b gh-pages');
    shell.exec('git push -f origin gh-pages:gh-pages');
    shell.exec('git branch -D gh-pages')
});

所以,我只是 运行 'grunt push-pages' 并且 GitHub 页面上的更新已完成。

ps_2.1:要做到这一点 "shelljs" 是必需的。就我而言,我在 npm package.json 上添加了它,只是为了确保我永远不会忘记它。

这不是世界上最好的解决方案,但效果很好 =)。

字体:https://gist.github.com/cobyism/4730490