如何通过 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 的小型团队提供免费的无限私人托管服务。我过去曾将它们用于各种私人项目。
如果您希望您的朋友只是查看一些代码并提供反馈,与他们分享秘密要点可能比设置整个存储库更容易。
编辑:由于您实际上是在寻找 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://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 的小型团队提供免费的无限私人托管服务。我过去曾将它们用于各种私人项目。
如果您希望您的朋友只是查看一些代码并提供反馈,与他们分享秘密要点可能比设置整个存储库更容易。
编辑:由于您实际上是在寻找 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 上添加了它,只是为了确保我永远不会忘记它。
这不是世界上最好的解决方案,但效果很好 =)。