hexo 无法备份 theme 主题目录

在使用 hexo 做博客时,我会把博客目录做一个备份,方便迁移。但是发现使用的主题目录无法备份,推送后总是下图状态:

无法备份 theme 主题目录

解决方法

如果你想让他正常的话,可以在博客目录运行如下命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ git rm --cached themes\maupassant\
rm 'themes/maupassant'

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

deleted: themes/maupassant

Untracked files:
(use "git add <file>..." to include in what will be committed)

themes/maupassant/

原因

这是因为用到了 git 的子模块(git submodule)功能(你在你的 git 项目里 clone 的别人的项目)。

在你的主项目的 git 库里,子模块只是一个 HEAD 指针,指向子模块的 commit。

这个功能的意义:

在这里,如果你需要修改 next 主题(可能需要很多文件),又想保证能够随时更新最新版本,其实用子模块功能是很方便的。

只需要 clone 下来新建一个 branch,用来自己用,每次官方更新 pull 到另一个分支,merge 一下就行。

相当于把一个大项目分成多个小项目,尽可能减少项目之间的关联,方便调试和修改。

这里我偷懒直接将子模块删除,将整个仓库进行备份了。

比较优雅的做法可以参考:https://github.com/iissnan/hexo-theme-next/issues/328


参考:
https://www.zhihu.com/question/63962146#/

hoxis wechat
一个脱离了高级趣味的程序员,关注回复1024有惊喜~
赞赏一杯咖啡
  • 本文作者: hoxis | 微信公众号【不正经程序员】
  • 本文链接: https://hoxis.github.io/hexo-backup-theme-dir.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
  • 并保留本声明和上方二维码。感谢您的阅读和支持!
0%