此文我的博客原文链接: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将之前本地做的修改应用到当前工作区。


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

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

Hexo主题升级方法(实用!)相关推荐

  1. 华为交换机的软件升级方法,很实用

    1.实验内容:华为3Com交换机的升级 2.实验目的:掌握交换机的Bootrom和VRP主体软件升级方法. 3.实验环境: 4.实验步骤: ● Bootrom升级: 本次实验中,我们通过Console ...

  2. hexo主题美化,让你的博客焕然一新

    全文建议配合梯子食用 hexo主题美化,让你的博客焕然一新 强烈建议点击此处,在我的博客网站看这篇博客,以获得更爽的阅读体验 上篇博客中,我讲完了如何利用hexo和githubpage初步在你的ubu ...

  3. 在gitcafe上部署hexo博客方法介绍

    最近闲着无聊,突发想搞一个自己的博客.于是就有了这个blog.在搭建的过程中也出了许多的问题,不过最后还是搭建完成了.现在我把我搭建的过程记录下来,作为备忘和分享. 0x00 首先是我自己机子的环境介 ...

  4. 浅谈以太坊智能合约的设计模式与升级方法

    浅谈以太坊智能合约的设计模式与升级方法 1. 最佳实践 2. 实用设计案例 2.1 控制器合约与数据合约: 1->1 2.2 控制器合约与数据合约: 1->N 2.3 控制器合约与数据合约 ...

  5. 如何开发一个hexo主题_如何确定一个强烈的主题可以使产品开发更有效

    如何开发一个hexo主题 by Cameron Jenkinson 卡梅伦·詹金森(Cameron Jenkinson) 如何确定一个强烈的主题可以使产品开发更有效 (How identifying ...

  6. Hexo主题修改Next.Mist

    修改Hexo主题及问题记录 昨晚试着将段时间搭建的hexo改一下主题,觉得NexT.Mist看起来挺简洁,挺喜欢这种风格的: 以下主要是一个索引,记录我搭建以及修改过程所参考的文章 搭建博客 当时搭建 ...

  7. hexo主题之hexo-theme-yilia-plus

    hexo-theme-yilia-plus 一个简洁优雅的hexo主题 ➡️ https://github.com/JoeyBling/hexo-theme-yilia-plus 此项目是根据hexo ...

  8. hexo主题切换可能出现的错误

    hexo主题切换可能出现的错误 1.1上传时出现error:spawn failed...问题 方法一 git bash 进入博客根目录 rm -rf .deploy_git/ //删除提交内容文件夹 ...

  9. 使用 hexo + 主题 butterfly + Github 搭建个人博客

    hexo + 主题 butterfly 搭建个人博客 1. 安装 2. 注册 github 账号 3. 创建仓库 4. 搭建 Hexo 本地博客 安装 hexo- cli 生成 ssh keys 生成 ...

最新文章

  1. codeigniter配置smarty模板
  2. 综述 | 森林微生物组:多样性,复杂性和动态变化(IF:11.3)
  3. soapui工具_python接口自动化(四)--接口测试工具介绍(详解)
  4. python常用模块(一)
  5. 3000字详解Pandas数据查询,建议收藏
  6. [zz]Ubuntu下使用Eclipse和PyDev搭建完美Python开发环境
  7. stm32 引脚功能重复_STM32的复用时钟何时开启?
  8. mysql8安装步骤及排坑
  9. 从实验室搬到宿舍后可以上QQ但打不开网页
  10. Linux学习笔记1-在CentOS 7中安装配置JDK8
  11. 漫画:如何实现大整数相乘?
  12. PE系统-微PE工具箱V2.1 - 有情怀的PE - PE中的战斗鸡无广告VIP精品
  13. 仓库管理一团糟,WMS仓库管理系统如何解决这些难点
  14. 【Windows远程连接】登录显示密码过期
  15. 国内最新语音服务器,语音聊天社交很热门,带你搭建自己的语音聊天服务器
  16. 7.13建行天津实习面经
  17. Python游戏概率保底算法PRD的实现
  18. 【JavaSE】自定义异常
  19. 学计算机的3个奋斗目标,我的学习方法和奋斗目标
  20. 使用es的新姿势 2.x 5.x 6.x通用

热门文章

  1. js数组按中文拼音排序_通俗易懂讲 Python 算法:快速排序
  2. 应用UML进行数据库建模
  3. php textarea 传值,php表单转换textarea换行符的方法
  4. card allocation
  5. selenium popup
  6. GAN(Generator Adversarial Networks)
  7. 已重置应用默认设置html,Win10总提示已重置应用默认设置怎么解决?
  8. 智能锁和普通锁有多大区别?智能锁安装,你知道多少?
  9. [Android] 仿小米空气净化器首页旋转UI
  10. 分布式应用程序是什么