Update Hexo theme solution

Pre

当使用Hexo时不可避免的我们要使用一些主题,当主题的默认设置无法满足我们要求时候我们不可避免的要对其进行一些修改。一般我是用git clone下来主题去掉他原来的git,将其纳入我的blog文件夹的git管理下。
当主题发布了新版本我们可能会需要升级主题,或者旧版本无法满足要求需要升级到新版本,这时候就涉及到“迁移之前对主题文件进行的修改”问题。
这时候我们就需要知道究竟修改了哪些文件,然后在把修改迁移到新的主题下。

1. 一种朴素的方法,找出不同,手动迁移

在bolg仓库git下使用diff
head~3 是刚加入主题时的提交
将对比限定在对应主题文件夹下

1
git diff  head~3 themes/next

然后手动把修改的内容迁移到新下载的theme中

2.升级的半自动方法

将现在的主题文件夹复制替换掉新版本的主题文件夹里的内容,只保留自己需要的迁移的一部分更改,git add 到贮存区,其余的全部restore状态。完成后去掉.git文件夹,回归到blog文件夹的git管理下。

1
2
git add ****.**  ****.**
git restore .

3. 仍然使用主题自己的git管理,较自动的方法

一开始就不去除主题仓库的git,每次更改进行提交,当主题有更新时候拉取,与你的本地提交进行合并。注意检查你的更改在合并之后是否正确。
缺点是theme主题的不在blog的git管理之下,并且更改不能进行push,只能在本地。。。但是也许可以通过新建另一个远端仓库来进行push。

一般很长时间才会去升级主题,并且修改的内容也不多,所以目前我是使用第一种手动的方式,手动的也可以是很可靠的~