针对常见的远程仓库:github
和gitee
,它们都提供了Pages
服务,可以通过建立WEB
页面的仓库,并在其中存放网页的有关元素,通过服务端的处理与域名分配,成为人们可以访问的公共页面,简而言之,就是用别人的服务器和域名托管并展示自己的网站,本文选取的案例是基于hexo
框架的博客部署
标题:在Github或Gitee上部署网站
仓库建立与部署
首先,要在远程仓库网址上建立部署页面的仓库,并选用git
等工具进行推送
国际惯例,创建git仓库,地址添加到本地仓库的
remote
如果使用
github
部署网站,建议将仓库命名为[username].github.io
本文使用了
hexo
框架搭建网站,需要将git仓库的地址与对应分支填到_config.yml
配置文件的#Deployment
配置中
在本地编译完成后,利用
hexo
将博客根目录下的文件部署到远程仓库hexo d
d
是deploy
的简写,这里部署之后远程仓库会单独跟踪页面的提交与变化,节省本地的空间)如果是
win10
系统,还需要安装模块hexo-deployer-git
,使用git bash
在hexo
的部署目录使用如下命令:cnpm install --save hexo-deployer-git
此时,如果在
nodejs
的目录下进行安装,则回到hexo
目录之后会出现部署工具git
无法识别的报错使用
hexo
部署的过程中,部署d
只会提交public/
目录下的改动,如果想保留README.md
这一框架不会自动生成的内容,有两种方法:- 慎用
hexo clean
,直接将README.md
放入public/
目录 - 参考这篇教程,设置
skip_render
,较为麻烦
- 慎用
不同系统的
hexo
工具部署同一仓库后,似乎会强制推送来清理远程的仓库,去掉没必要的历史提交针对更一般的情景,可以直接在网站的根目录下初始化
git
仓库并提交到远程仓库
发布到gitee
在
gitee
上申请开通Gitee Pages
服务,进入仓库后,点选上方菜单栏的”服务“->”Gitee Pages“,提交个人信息进行审核这里的实名认证很不方便,经过比较之后我更推荐灵活好用的
github
,而且.github.io
域名的网址在大陆访问同样迅速审核通过后,选择部署分支(这里的服务直接和仓库对应),部署目录可以为空,这样仓库里的所有页面和文件都可以用于博客提供访问
需要注意的是点选
强制使用HTTPS
,否则会出现上一节#URL
部分说的访问博客时URL错误的问题点击更新,就能将仓库里的博客页面用于展示了,
gitee
也会提供URL。理论上每次仓库部署之后,都要再次点击更新
需要注意的是,由于展示的是静态网页,一般会被浏览器缓存,因此博文更新后访问博客看到的不一定是最新版本,需要使用
F5
刷新,或是Shift+F5
来强制刷新缓存。在chrome
上一个简便的解决方法是安装扩展Classic Cache Killer
并启用,在加载页面前先清空缓存,从而每次都能看到改动
发布到github
github
上的Pages
服务开通非常方便,前提是建立了名为[username].github.io
的仓库,而且这个仓库的可见性为public
如果想要使用其他的域名来访问个人博客,或者建立其他名字的仓库来部署网站,可以使用这篇教程里的工具
仓库部署网页完毕后,可以在仓库的
Settings->Pages
里面看到开通Pages
服务的有关说明,如果使用步骤1的仓库名,就可以直接在URL进行访问一些额外的工作是选择
Source
,也就是网页根目录来自仓库的哪个分支还可以自定义域名、主题和
https
选项,在步骤1的前提下这些都可以保留默认了