目前,next的主题是通过git submodule来管理的,那么在next官方主题更新时,虽然我在本地拉取了最新的代码,但是在Netlify部署的时候依旧是我最先拉取的那个commit的版本,此时就需要手动将next的HEAD指向最新的commit。

执行如下代码即可实现:

1
git submodule update --remote --rebase

执行命令后将输出如下日志:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
remote: Enumerating objects: 349, done.
remote: Counting objects: 100% (349/349), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 624 (delta 341), reused 348 (delta 341), pack-reused 275
接收对象中: 100% (624/624), 133.42 KiB | 33.00 KiB/s, 完成.
处理 delta 中: 100% (451/451), 完成 95 个本地对象.
来自 https://github.com/theme-next/hexo-theme-next
69ca043..51bf6a0 master -> origin/master
* [新分支] dimmer -> origin/dimmer
99861ae..88eb718 font-refactoring -> origin/font-refactoring
* [新分支] refactor -> origin/refactor
首先,回退头指针以便在其上重放您的工作...
快进 master 到 51bf6a010d45deb4ecaa29a2b94133287aa477b4。
Submodule path 'themes/next': rebased into '51bf6a010d45deb4ecaa29a2b94133287aa477b4'

主题更新完成后,博客的.git也检测到了themes/next的变化

1
2
3
4
5
6
7
git status
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)

修改: themes/next (新提交)

将其提交到托管博客的仓库,Netlify将会自动部署。

1
2
3
git add .
git commit -m "update theme"
git push origin master

此时,主题就已经更新到最新的版本了,为了能持续不断的与官方主题同步更新,我放弃了很多DIY的地方,懒得每次更新都去比对,默认的已经差不多满足我的要求了,没必要为了一些多于的没管而去花时间,该折腾的都折腾的差不多了,剩下的就是就交给内容吧,毕竟内容为王。