本文章转载并修改自:Hexo在多台电脑上提交和更新[作者Kakaluotuo]

做这篇文章的主要原因是我的hexo源文件在a电脑上。可是我并没有办法随身携带a电脑。有时要在b电脑上写文章。每次写完一篇文章都要保存然后拷贝到a电脑上才可以做到部署上传自网站。这令我很头痛。于是我在网上搜索有没有好的办法。结果在CSDN上看到开头转载的文章。于是根据Kakaluotuo的hexo多电脑提交和更新的文章写出这篇文章。文章内容多自修改Kakaluotuo的文章,如果想看更详细的说明请移步该作者的原贴:传送门

tips:由于该上文章是在GitHub上做文件上传。而我因为工作需要,电脑绑定的是Gitee的配置。无法推送到GitHub上。所以我使用的是Gitee创建仓库并且实现多电脑上hexo的提交和更新。


1.清楚那些文件是需要同步的

这是a电脑上的目录结构

文件夹说明是否需要上传github/gitee
node_moduleshexo需要的模块,就是一些基础的npm安装模块,比如一些美化插件,在执行npm install的时候会重新生成不需要
themes主题文件需要
publichexo g命令执行后生成的静态页面文件不需要
packages.json记录了hexo需要的包的信息,之后换电脑了npm根据这个信息来安装hexo环境需要
_config.yml全局配置文件,这个不用多说了吧需要
.gitignorehexo生成的默认的.gitignore模块需要
scaffolds文章的模板需要
.deploy_githexo g自动生成的不需要

tips:另外出现的.git和.idea是因为我已经将源文件部署到Gitee上和用的是webstorm来编写文章。所以会出现这两个文件夹

2.上传到Gitee

  1. 在Gitee上创建一个仓库

  2. 创建好之后在本地使用命令行将你创建的仓库clone到本地电脑上

  3. clone到本地之后会在文件夹里面看到一个.git的文件。将这个文件移动到你的hexo源文件目录下

  4. 在hexo源文件夹内创建一个.gitignore文件,这个文件是提交的时候自动屏蔽哪些文件&&文件夹不提交推送的

    1
    2
    3
    4
    5
    6
    7
    8
    .DS_Store
    Thumbs.db
    db.json
    *.log
    node_modules/
    public/
    .deploy*/
    .idea/
    • 我在后面加上了.idea/是因为用jetbrains家的开发工具默认会生成这个文件夹。我并不需要将这个文件夹提交上传。所以我也加上去了
    • 如果已经clone过主题文件,那么需要把theme主题文件夹里的 .git 也删除。因为git不能嵌套上传,最好是显示隐藏文件,检查一下有没有,否则上传的时候会出错,导致你的主题文件无法上传,这样你的配置在别的电脑上就用不了了。
  5. 在hexo源文件夹内创建一个.gitignore文件,这个文件是提交的时候自动屏蔽哪些文件&&文件夹不提交推送的

    1
    2
    3
    git add .
    git commit
    git push

此时已经成功将整个网站推送到了远程库

3.后续补充

至此,整个网站备份至远程仓库,当网站的配置或文章修改后都要将远程仓库更新。先拉取git pull仓库内的文件保证最新的源文件。修改配置或更新文章之后先hexo s确定没有问题之后,提交推送到远程仓库之后,在执行hexo的部署

1
hexo clean && hexo d -g