MENU

使用 Git 在多台设备间同步博客文件

July 25, 2016 • Read: 240 • 代码

博客文件一直是放在办公室的台式机上,最近准备放假回家,就需要将文件同步到笔记本里。刚开始用了百度云盘,本来想设置同步文件夹的,结果。。。node.js 这个 sb,node_modules 这个文件夹里的细碎文件太 tm 多了,同步一下几个小时都搞不定。。。只能选部分文件上传,然后在笔记本上下载,最麻烦的是每次有了修改都要手动去百度云上把旧文件删掉,再上传新的,实在是麻烦。而且从百度云下载的时候也特别慢,只好求助于 Git。

插件配置

在知乎上发现了一个神器,hexo-git-backup。它可以一键同步博客文件到 Git 仓库,省去了自己配置的麻烦,果断安装一个。

npm install hexo-git-backup --save

要备份文件,首先去新建一个仓库,插件说支持 Github 和 Gitcafe,我用 oschina 也没有问题。

然后改站点配置文件,加入 Backup 功能。

backup:
    type: git
    repository:
       github: [email protected]:xxx/xxx.git,branchName
       gitcafe: [email protected]:xxx/xxx.git,branchName

注意!!!配置的 repository 的地方一定不要有空格!!!这是个大坑!!!

密钥配置

生成密钥什么的就不说了,怎么生成都行,这里主要纠正一个之前文章里的一个错误,当时说放在 .ssh 文件夹下的私钥命名为 id_rsa,后来看到文章,说如果多个私钥,应该在该目录下生成一个 config 文件配置好各个私钥。

Host gitcafe.com
IdentityFile ~/.ssh/gitcafe

Host github.com
IdentityFile ~/.ssh/id_rsa

Host git.oschina.net
IdentityFile ~/.ssh/chitanda_osc

注意,Host[email protected] 中的域名要一样,只写一级域名会出错的

弄好后可以 ssh 测试一下。

ssh -T [email protected]

备份博客

命令很简单,hexo b 就可以了,需要注意的是,虽然插件的 README 里说不配置 theme 字段的话不会备份主题,但我这里是自动备份的,可能是作者又改了代码吧。备份了主题后,主题下的 .git 目录即被删除,无法 git pull 更新了,不过主题应该也不会经常动,需要更新的时候再说吧。

Last Modified: February 14, 2017
Archives QR Code
QR Code for this page
Tipping QR Code