[hexo]手动更新next主题记

前段时间发现next主题又双叒叕更新了!

github上的next主题更新方法

但是问题是,我使用的next是自己魔改过的,所以我并不知道从官网pull的版本要如何合并到自己魔改过的版本上。不过前段时间对git的进一步学习,同时参考官网文档,最后利用VSCode对git的方便管理成功更新了,在此把自己折腾的经历放出。

问题分析

首先,我是将整个项目存在GitHub上的,这意味着主题目录下没有git仓库,我也不打算建。

考虑给git有一个branch的合并功能,于是打算将自己的主题从之前使用的版本新建出一个分支,然后合并到最新版本的master分支上,利用vscode解决冲突处理。

需要注意的是这个方法是我手动摸索的,期间也踩了许多坑,应该也不是最佳的解决方案,仅供参考:

基本步骤:
  1. 先从官网拉取最新版本
  2. 复制目录下的.git文件夹
  3. 建立新分支,提交更改
  4. 关键:再次pull
  5. 利用vscode手动合并代码冲突
  6. 删除.git
1. 从官拉取最新版本

从官网项目上拉取更新或clone项目

如果以前从官网项目上clone过next主题的话,直接使用git pull拉取更新。

否则直接使用git clone https://github.com/theme-next/hexo-theme-next themes/next拉取最新版本的主题。

2.利用该目录下的.git文件夹提交更改

经过刚刚的操作后,在hexo-theme-next这个文件夹下,就是原生的最新版本的next主题,我们需要的是其中的.git文件夹。

先检出需要版本的分支:

1
2
git checkout v7.0.0
git branch -b mybranch

然后将其复制到你自行修改过的next主题文件夹下:

然后在终端中输入:

1
2
git add .
git commit -m "my version"

这一步的作用是从之前使用的版本v7.0.0开始建立一个分支mybranch,并提交了一次新的更改。

这里的版本其实是tag,可以在next项目的官网的release下查询。

3.合并更新

按照上面的思路,接下来由于关联了最新版本,只需要再拉取一次后提交更改即可。

执行git pull

然后果然冲突了!

于是乎,用VSC打开主题文件夹,在源代码管理中进行冲突的解决,其中当前更改就是你的版本,而传入的更改就是官方的版本。

最后commit!

可以看到,主题已经成功更新了。

可能还有一些小问题需要手动修改一下。这之后删掉.git文件夹,下次更新时如法炮制即可。

参考链接

next主题官网

廖雪峰的官方网站-分支管理