两年前搭过自己的博客,时隔两年又重新开始,之前搭建得迷迷糊糊,也是跟着步骤走,很多事情没有理清楚。现在重新认识,思维有了很大的改观,学习一件事情,还是应该了解下它的原理。
用到的还是hexo+github,
安装hexo
-
hexo其实就是个本地建站,是通过下载的主题,_config.yml配置好静态的网页模板,通过你Hexo下的post文件夹创建的md生成静态网页,在本地调试好网页,部署到GitHub去发布。
-
博客存档,换电脑,换主题,千万不要删除这些文件,做好备份,才好重新生成。要不然就需要用html逆向转回md文件。
Hexo下的文件夹public就是上传到GitHub去部署的文件,各种html,image等资源。
public文件夹下准备好了之后,就需要上传到GitHub上,如果hexo d命令无效,就用git的直接命令,git push之类推送文件上去。
将本地编写好的网页上传到github
或许之前就没弄懂过git,竟然没办法将我两年前的仓库全部覆盖,逻辑是清空之前的仓库,将新的public文件下的网页写进去。
覆盖不了,就只能删除整个仓库,再次感觉学艺不精,又蠢又暴力。
其实非常讨厌这样的方式,正是因为没有弄懂,又需要图快,不愿意去搞懂为什么无法删除的原因,于是采用暴力解决。
-
总之,删除了整个io仓库,重新建立新仓库,建立好redme文件。不建立,这就是个空仓库。
-
克隆新仓库下的git文件,配置下用户名和邮箱。
-
git config --global user.name "用户名"
-
git config --global user.email "xxx@qq.com"
-
秘钥搞起,不然每次上传都要输入密码
ssh-keygen -t rsa -C "xxx@qq.com"
这一步,就是查到秘钥cd ~/ssh,命令是错的,要百度下。
然后添加到GitHub 的setting页面,随便取个项目名,黏贴进去。
这样你在本地的项目,配置的登录名和登录密码先和GitHub上的账号绑定了,_config.yml也配置一下。虽然hexo d并没有用。
添加远程仓库名
git remote add origin git@github.com:username/username.github.io.git
用hexo g生成所有部署文件,在public文件夹下将整个文件夹上传。
首先用git命令给文件夹添加状态,git commit -m "注释内容"
可能会报错,就是这些文件名报红,这是因为文件都变成了修改的状态,但是没有添加到本地仓库。
git add -A
因此初次上传,将全部文件添加到本地仓库,再用命令上传。
git push -u origin master
git push origin master
买域名,绑定到github上
上传好了之后,用username.github.io检查是否能够访问,如果能够访问,那么就可以买域名,将username.github.io和域名绑定在一起。
-
GitHub上需要建一个CANME,将域名放进去。
首先要知道username.github.io的ip地址,有个小软件,dig可以直接挖,但是不用那么麻烦,http://www.ip138.com/ 直接查username.github.io的ip地址。
或者直接在cmd 下ping username.github.io
得到ip地址后,在买的域名网站里添加解析。
我在godaddy买的,用支付宝,不备案,买了之后,就可以用,配置一分钟,绑定见效,快。
-
添加下ip地址,类型为A,名字@
-
添加下CNAME,名字为WWW,这里是不用输入再www,直接通过域名访问。
图如下,value值跟ip和你io的地址,另外在狗爹上这个页面出现必须是默认,如果自定义custom了就不会再出现这个记录,需要改成默认。
这位太太讲的非常详细,可以看看
https://www.cnblogs.com/openxxs/p/5950598.html
试错如下:
-
fatal: 'origin' does not appear to be a git repository fatal: Could not read
没有添加对远程库,命令检查git remote,再次配置用户名和邮箱。
-
git error: failed to push some refs to 'git@github.com
还是远程库没配置好,先可以pull一次拉下来git配置的信息。
git pull origin master
git push -u origin master.
下面去理清楚git的原理,域名解析的过程,还有根据自己需要修改hexo下的Annie主题
发发我拍的照片,画的画,表达的东西