Hexo主题同步
问题
由于升级Node.js
导致要重新安装Hexo
,安装完新版的Hexo
发现有些东西不能用,搞来搞去把本地仓库搞乱了,就想着把本地的仓库删掉吧,在从远程clone
一份下来。
博客用的是Next主题,结果之前的主题配置themes/next/
目录根本就没有上传到远程分支,导致主题所有的定制化修改全部丢失。此问题已经提交到Next主题的Issues中。
原因
先看下Next主题的使用方法
这样配置完其实thems/next/
就是一个包含.git/
的子项目仓库。所以在push
主项目的时候不会上传子项目,子项目的文件夹是灰的,并且里面是空的。如图
所以从远程仓库拉取的项目中是没有Next主题的。
解决
解决方法在Issues里也说了,用fork + subtree
。
首先要fork
Next
,然后拉取到本地做修改,修改好后push
到远程仓库。
然后用git subtree
把themes/next/
当做子项目来统一管理。subtree
的用法可以看使用GIT SUBTREE集成项目到子目录。
具体步骤:
删除
themes/next/
并push
到远程123456rm -rf themes/nextgstga .git add --allgcmsg "delete next"ggpush绑定子项目
12git remote add -f next git.com:w4lle/hexo-theme-next.gitgit subtree add --prefix=themes/next next master --squash更新子项目
12git fetch next mastergit subtree pull --prefix=themes/next next master --squash从子目录push到远程仓库
1git subtree push --prefix=themes/next next master
现在再去远程仓库看themes/next/
就有内容了,并且跟子项目的远程仓库可以保持更新,在主项目中修改也可以push
到子项目的远程。再也不用担心主题配置丢失了。
参考
本文链接: http://w4lle.com/2016/06/06/Hexo-themes/
版权声明:本文为 w4lle 原创文章,可以随意转载,但必须在明确位置注明出处!
本文链接: http://w4lle.com/2016/06/06/Hexo-themes/