我很难弄清楚如何最好地将缩小的构建部署到gh-pages,但将开发构建保持在master中。
我有一个如下格式的存储库:
/build
/public
/stylesheets
a bunch of scss files
/javascript
a bunch of js files
index.html
gruntfile.js在开发过程中,我有一项繁重的任务,那就是监视所有内容并创建未压缩的已构建文件。在开发期间,我的build文件夹如下所示
/build
index.html
main.js
styles.css然后我有一个繁重的任务,创建一个产品构建,缩小我的javascript和css,然后内联到我的index.html文件中。给出了simly的构建目录
/build
index.html我需要能够在不破坏存储库历史的情况下,将生产,精简的构建文件夹部署到一个高页面分支。理想情况下,主分支根本不包含build文件夹。
我知道我可以使用git subtree push --prefix dist origin gh-pages部署一个子树,问题是在正确的分支中有正确版本的build文件夹。
发布于 2014-08-24 23:51:02
这个网址上的帖子非常有用:https://github.com/X1011/git-directory-deploy
重要的一点:因为我不想把build文件夹签入,我想把它保存在.gitignore中,所以子树推送是没有意义的。此答案还允许您有机会在推送之前构建在master中从未见过的生产文件。
假设您的dist文件夹是您的生产文件所在的位置,下面是如何设置的。
git --work-tree dist checkout --orphan gh-pages首先创建一个没有历史记录且独立于其他分支的gh-pages分支(孤立分支)
git --work-tree dist rm -r "*"从分支中删除正常的源文件
git --work-tree dist add --all仅添加dist中的文件
git --work-tree dist commit -m "initial publish"
git push origin gh-pages
git symbolic-ref HEAD refs/heads/master && git reset --mixed重置回主模式
对于额外的部署
git checkout gh-pages
git --work-tree dist add --all
git --work-tree dist commit -m "Commit Message"
git push origin gh-pages
git symbolic-ref HEAD refs/heads/master && git reset --mixed
https://stackoverflow.com/questions/25471032
复制相似问题