使用Hexo搭建博客,备份至GitHub过程(基于网上资料的实践操作)

参考资料:

使用hexo,如果换了电脑怎么更新博客?
https://www.zhihu.com/question/21193762
其中,最多赞回答(转至其博文):
http://crazymilk.github.io/2015/12/28/GitHub-Pages-Hexo搭建博客/#more

Q:如何本地直接删除文件后,git到远程仓库,远程仓库也删除了对应文件?
A1:“git到远程仓库”是指什么?一般你在本地删除了文件,之后commit,再push到远程,对应的文件肯定就删掉了。
A2:例如删除github上的 .DS_Dtore 文件的执行操作,进入到对应目录,在终端中执行以下操作
git rm --cached filename
git commit -m “hehe”
git push origin
执行完毕,刷新一遍github,你会发现此时想要删除的文件已经消失了。


1、在需要创建 .gitignore 文件的文件夹, 右键选择Git Bash 进入命令行,进入项目所在目录。
2、输入 touch .gitignore ,生成“.gitignore”文件。
3、在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。(注意格式)
我的 .gitignore:

.deploy_git/
node_modules/
public/

某知乎回答,其.gitignore文件:

db.json
debug.log
node_modules/
public/
.deploy_git/

参考用:
我在新建一个文件夹 hexo init 后出现了一个.gitignoren文件,文件内容为:

.DS_Store
Thumbs.db
db.json
.log
node_modules/
public/
.deploy
/


我的备份方式

在github上新建一个GitHub Page:strivebo.github.io,正如知乎上的回答,在这个仓库下,另外新增加一个hexo分支,并且设置该分支为主分支。

这样,master用来上传hexo搭建的博客编译好的博客,hexo分支用来备份源文件,包括theme、.md等文件。

完整操作如下:(摘自知乎回答)

  1. 创建仓库,strivebo.github.io
  2. 创建两个分支:master 与 hexo;
  3. 设置hexo为默认分支(因为我们只需要手动管理这个分支上的Hexo网站文件);
  4. 使用git clone git@github.com:strivebo/strivebo.github.io.git拷贝仓库;
  5. 在本地strivebo.github.io文件夹下通过Git bash依次执行npm install hexo、hexo init、npm install 和 npm install hexo-deployer-git(此时当前分支应显示为hexo);
  6. 修改_config.yml中的deploy参数,分支应为master;
  7. 依次执行git add .、git commit -m “…”、git push origin hexo提交网站相关的文件;
  8. 执行hexo generate -d生成网站并部署到GitHub上。

个人已出此坑:第 5 步中特别要注意,hexo init会清空.git 文件夹(即版本控制信息会丢失)
所以我的做法是:
第 4 步完成后,先拷贝出.git文件夹,等第 5 步完成后,再粘贴.git文件进去。

此外,如何出现提示 no ** develop 什么的,不太记得,需要使用 npm install hexo-deployer-git --save

  • 日常修改
    在本地对博客进行修改(添加新博文、修改样式等等)后,通过下面的流程进行管理:
    依次执行git add .、git commit -m “…”、git push origin hexo指令将改动推送到GitHub(此时当前分支应为hexo);
    然后才执行hexo generate -d发布网站到master分支上。
    虽然两个过程顺序调转一般不会有问题,不过逻辑上这样的顺序是绝对没问题的(例如突然死机要重装了,悲催….的情况,调转顺序就有问题了)。

  • 本地资料丢失
    当重装电脑之后,或者想在其他电脑上修改博客,可以使用下列步骤:
    使用git clone git@github.com:strivebo/strivebo.github.io.git拷贝仓库(默认分支为hexo);
    在本地新拷贝的strivebo.github.io文件夹下通过Git bash依次执行下列指令:npm install hexo、npm install、npm install hexo-deployer-git(记得,不需要hexo init这条指令)。

另外:
我还会新建一个仓库,如 hexo-blog ,专门用来备份本地 .md 等源文件,这些博客文件丢失最难受了。因为上面用的分支方式,最后是多次尝试我是成功了,但是在成功之前我失败了好多次,然后导致删了仓库重新再来,所以我对分支方式还是不太保险,对每一步操作和涉及的文件的含义还未完全明白。所以干脆另建一个仓库再次备份吧,步骤如下:

  1. github上新建 hexo-blog 仓库
  2. 电脑上打开 Git Bash,输入 git clone 仓库地址 ,克隆下仓库至本地计算机
  3. 然后需要的备份的文件全都拷贝到刚刚克隆下来的 hexo-blog 仓库内,然后进行 git add . 、git commit -m “” 、git push origin master 上传至远程仓库hexo-blog上。
    注:当然也可以拷贝所有文件包括 public、.deploy_git 文件夹至刚刚克隆下来的仓库hexo-blog中,但是记得新增一个 .gitignore文件,内容参照文章最上面的有关回答。其作用大概是上传github远程仓库时,忽略其中指定的文件及文件夹。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值