在Github Pages上创建站点的登台和生产版本

时间:2015-08-10 03:04:17

标签: git github-pages

我想使用Github Pages发布一个制作网站(例如,www.example.com)以及同一网站的暂存版本(例如,staging.example.com)。

我在Github上为生产站点设置了一个repo(例如my-jekyll-website),创建了一个gh-pages分支,并将repo的根级别的CNAME文件设置为www.example.com 。效果很好。

现在,能够将更改推送到staging.example.com的最不痛苦的方法是什么?

我尝试过的一件事是在Github上设置第二个远程仓库(例如my-jekyll-website-staging),然后将其作为远程添加到我的本地git配置中。效果很好,之外,需要将repo中的CNAME文件更改为staging.example.com才能生效。这不好,因为当我想部署到生产时,我需要将CNAME文件更改回www.example.com。不理想。

我看过使用git filter content drivers,但如果我理解正确,那就是在本地修改文件,而不是将不同版本的文件推送到不同的遥控器。

编辑:我还考虑过根本不使用自定义域进行暂存:即只使用username.github.io/my-jekyll-website-staging。不幸的是,然后我的站点根目录相对链接(例如/images/foo.bar)中断了,因为baseurl现在在生产和登台之间是不同的。

1 个答案:

答案 0 :(得分:5)

从上面的评论中拉出来:

  

[M]将升级git分支放入生产中   分支和推送[。]你可以保持CNAME永久指向   他们各自的回购,但分别操纵回购。

     

最初由 Jonathan Chan

撰写评论

按照@JonathanChan的说法:维护两个单独的分支,然后在每个分支中hijack保存您的CNAME文件。这样,本地更改(对CNAME)将不会提交到存储库。