Hexo主题升级方法(实用!)

此文我的博客原文链接:https://sublimerui.top/archives/dfb45bc4.html

最近,自己使用的Hexo博客主题Material-X有新的版本更新,使用普通的方法git clone会覆盖自己修改后的文件,使得DIY的主题丢失。
通过查阅有关资料,总结出了以合并文件的形式更新当前的主题文件的方法喔~

PS

  1. git pull用法:https://blog.csdn.net/chaiyu2002/article/details/82120256

  2. 最开始更新主题的时候,直接使用git pull命令,然而,出现了报错:

error: Your local changes to the following files would be overwritten by merge:
_config.yml
Please commit your changes or stash them before you merge.
Aborting

原来,pull新版本主题文件的时候,本地的主题文件也DIY修改过,两者文件内容不同,导致发生冲突(即报错中的 _config.yml 文件)。

为了解决问题,同时本着无损合并代码的方式更新,在网络上找到了一篇文章。
原文出自:https://www.jianshu.com/p/920ad324fe64

主题更新步骤

  1. 使用Git Bash工具跳转到主题文件对应的目录中,如我的是:

D:\Program Files\Hexo\themes\material-x

  1. 首先,更新工作的状态树:
git add .
  1. 之后,输入如下命令,将文件放在堆栈中,获取更新后,再弹栈:
git stash
git pull
git stash pop

执行这几条简单的命令之后,Hexo主题便可以无损更新。
操作截图如下:

示意图

附:相关Git命令知识

git add .
他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

git stash
能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。

git stash save
作用等同于git stash,区别是可以加一些注释

git stash list
查看当前stash中的内容

git stash pop
将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。
注:该命令将堆栈中最近保存的内容删除(栈是先进后出)
如果从stash中恢复的内容和当前目录中的内容发生了冲突,也就是说,恢复的内容和当前目录修改了同一行的数据,那么会提示报错,需要解决冲突,可以通过创建新的分支来解决冲突。

git stash apply
将堆栈中的内容应用到当前目录,不同于git stash pop,该命令不会将内容从堆栈中删除,也就说该命令能够将堆栈的内容多次应用到工作目录中,适应于多个分支的情况。
堆栈中的内容并没有删除。
可以使用git stash apply + stash名字(如stash@{1})指定恢复哪个stash到当前的工作目录。

git stash clear
清除堆栈中的所有内容

git stash show
查看堆栈中最新保存的stash和当前目录的差异。

通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。


感谢你的耐心阅读呀(๑๑),原创总结不易,收藏并评论一下呗~

你的支持就是我前进的动力呀~

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Hexo是一个静态博客生成器,它提供了一些默认的主题,但是用户也可以自己开发或使用第三方主题。其中,Next是一款非常受欢迎的Hexo主题之一,它提供了丰富的功能和灵活的配置。 在使用Next主题时,我们可以通过override来修改主题的默认配置和样式。具体来说,override是指将主题的默认配置或样式文件复制到博客根目录下的/source/_data/或/source/css/override/目录下,然后进行修改。这样,在重新生成博客时,Hexo会优先使用override中的配置或样式文件,从而实现自定义主题的效果。 下面是具体的使用方法: 1. 复制配置文件到/source/_data/override/目录下 首先,我们可以通过命令`hexo config`查看当前主题的默认配置,然后将需要修改的配置项复制到/source/_data/override/目录下的同名文件中,并进行修改。例如,如果我们想修改Next主题的默认语言为英文,可以执行以下命令: ``` hexo config | grep language > source/_data/override/next.yml ``` 然后,打开source/_data/override/next.yml文件,将`language`的值修改为`en`,保存文件即可。 2. 复制样式文件到/source/css/override/目录下 如果我们需要修改主题的样式,可以将主题的默认样式文件复制到/source/css/override/目录下,并进行修改。例如,如果我们想修改Next主题的默认字体为微软雅黑,可以执行以下命令: ``` cp -r themes/next/source/css/fonts source/css/override/ ``` 然后,在source/css/override/fonts目录下,将所有字体文件中的字体名称修改为“Microsoft YaHei”,保存文件即可。 需要注意的是,override文件的命名和存放路径需要与主题默认文件一致,否则可能会导致修改无效或出现异常。同时,使用override也可能会导致主题升级时出现冲突,因此在使用时需要注意备份原始文件和谨慎修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值