博客已经一键部署到github,本地源码丢失,怎么找回,github源码和本地的是不一样的,是解析过的
如果你的博客有 RSS,你可以通过 hexo-migrator-rss 插件从 RSS 中重新得到 markdown 文件。
建站当初你就应该先做两手准备,部署的同时进行备份,用另一个仓库(或者同一仓库的另一个分支)存放博客的备份,如环境配置、源码等。
谢谢大佬们的回复
我都是把博客文件放到OneDrive里 实时备份 异地同步
用git恢复
@York618
hexo-deployer-git 默认使用 --force,不可能通过 git 找回。
@York618
hexo-deployer-git默认使用--force,不可能通过 git 找回。
参考这个:https://github.com/hexojs/hexo/issues/3676#issuecomment-522299449
那个是发布分支的强制推送,但是他(她)的意思应该是用另一个备份文件的仓库(或者另一个分支)来进行恢复。
我先挂了。要不然会有很多来自GitHub的邮件:)
@yansheng836 如果是 Git 备份也可能丢失,毕竟 hexo-deployer-git 默认分支是 master。
@SukkaW 我觉得你还是没有明白我的意思,我就拿我的博客来举个例子吧:
仓库地址:https://github.com/yansheng836/yansheng836.github.io
有两个分支:
hexo-deployer-git当然,如果你不想你的博客的源数据公开,你可以新建一个私有的仓库用于保存备份数据。
每次写好博客,发布需要多加一个备份源文件的动作,如下:
# Writing
# 同步到master分支
hexo clean
hexo generate
hexo deploy
# 手动同步到blog分支上
git add .
git commit -m "提交信息"
git push origin blog #如果设置了blog为默认分支,可以直接git push
我觉得一直是你没有明白我的意思。。。
我说的是即使用 Git 备份可能会发生什么、需要避免什么,并不是我不会做什么。
实际因为 hexo-deployer-git 的 force push 行为,所以我不使用 hexo-deployer-git,我使用的是自己编写的 deploy.sh:
其实我认为hexo-deployer-git 的 force push 行为并没有什么不妥。原因如下:
下面这张图是我对“hexo的主要工作流程”的理解(可能存在问题):
hexo g每次都会生成有变化的文件,如果你本地有文件丢失,那么生成的HTML文件肯定会出现问题。但是出现问题后,你也几乎没有什么可能从hexo-deployer-git对于的仓库中找回你丢失的文件,因为该仓库的文件都是:node.js通过渲染markdown+样式+js生成的HTML文件,也就是说集成的,可能是几个配置文件都对一个HTML产生影响。补充:
git push -f有什么弊端?最直接的弊端应该就是造成远程仓库的某版本丢失!丢失版本库会让我们的版本管理系统出现问题。This issue has been automatically marked as stale because lack of recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
博客已经一键部署到github,本地源码丢失,怎么找回,github源码和本地的是不一样的,是解析过的
把解析过的index.html用浏览器打开,直接复制,然后粘贴到markdown的编辑器上(我是用Typora),就可以恢复原来的md代码了。
@Hongchenglong ?
博客已经一键部署到github,本地源码丢失,怎么找回,github源码和本地的是不一样的,是解析过的
把解析过的index.html用浏览器打开,直接复制,然后粘贴到markdown的编辑器上(我是用Typora),就可以恢复原来的md代码了。
昂昂,我搞了一下午,太惨了
Most helpful comment
@SukkaW 我觉得你还是没有明白我的意思,我就拿我的博客来举个例子吧:
仓库地址:https://github.com/yansheng836/yansheng836.github.io
有两个分支:
hexo-deployer-git当然,如果你不想你的博客的源数据公开,你可以新建一个私有的仓库用于保存备份数据。
每次写好博客,发布需要多加一个备份源文件的动作,如下: